Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ: основныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

Вопрос ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ слСдуСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Π½Π° Ρ€Π°Π½Π½Π΅ΠΉ стадии развития любого Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. «ПадСниС» сСрвСра (Π° ΠΎΠ½ΠΎ всСгда происходит Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ, Π² самый нСподходящий ΠΌΠΎΠΌΠ΅Π½Ρ‚) Ρ‡Ρ€Π΅Π²Π°Ρ‚ΠΎ вСсьма ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌΠΈ послСдствиями β€” ΠΊΠ°ΠΊ ΠΌΠΎΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ нСдостаточной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСрвСра Π² связи ростом Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ наращивания мощности сСрвСра, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ² ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Но Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ наступаСт ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΈ эти ΠΌΠ΅Ρ€Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСдостаточными.

ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ кластСризации: нСсколько сСрвСров ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² кластСр; Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ распрСдСляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ комплСкса ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… балансировкой. Помимо Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ кластСризация ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСрвСров Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°.
Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ кластСризации Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ распрСдСляСтся (балансируСтся) Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами кластСра.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ°ΠΊ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов. Об основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°Ρ… ΠΈ балансировки ΠΌΡ‹ Π±Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Π£Ρ€ΠΎΠ²Π½ΠΈ балансировки

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° балансировки осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ комплСкса Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ уровням ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI:

Рассмотрим эти ΡƒΡ€ΠΎΠ²Π½ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ.

Балансировка Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅

Балансировка Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ: Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ IP-адрСс сСрвСра ΠΎΡ‚Π²Π΅Ρ‡Π°Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ физичСскиС ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Вакая балансировка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ мноТСства Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… способов.

Балансировка Π½Π° транспортном ΡƒΡ€ΠΎΠ²Π½Π΅

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ балансировки являСтся самым простым: ΠΊΠ»ΠΈΠ΅Π½Ρ‚ обращаСтся ΠΊ балансировщику, Ρ‚ΠΎΡ‚ пСрСнаправляСт запрос ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ. Π’Ρ‹Π±ΠΎΡ€ сСрвСра, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ запрос, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π² соотвСтствии с самыми Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ (ΠΎΠ± этом Π΅Ρ‰Ρ‘ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π½ΠΈΠΆΠ΅): ΠΏΡƒΡ‚Ρ‘ΠΌ простого ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, ΠΏΡƒΡ‚Ρ‘ΠΌ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ сСрвСра ΠΈΠ· ΠΏΡƒΠ»Π° ΠΈ Ρ‚.ΠΏ.

Иногда балансировку Π½Π° транспортном ΡƒΡ€ΠΎΠ²Π½Π΅ слоТно ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ балансировки Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ для сСтСвого Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° pf Π² BSD-систСмах: Ρ‚Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρ‚ΡƒΡ‚ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ ΠΏΡ€ΠΎ балансировку Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΠΎΡ€Ρ‚Ρƒ TCP (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для сСтСвого Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° pf Π² BSD-систСмах):

Π Π΅Ρ‡ΡŒ Π² Π½Ρ‘ΠΌ ΠΈΠ΄Π΅Ρ‚ ΠΎ балансировкС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΠΎΡ€Ρ‚Ρƒ TCP.

Рассмотрим Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’ этом ΠΏΡ€Π°Π²ΠΈΠ»Π΅ Ρ€Π΅Ρ‡ΡŒ ΠΎ балансировкС исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅. Π’ Π½Ρ‘ΠΌ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°, Π½ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями балансировки ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. К сСтСвому ΡƒΡ€ΠΎΠ²Π½ΡŽ относятся Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° сСбС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сСссии. Они просто ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.
На сСтСвом ΡƒΡ€ΠΎΠ²Π½Π΅ балансировщик просто Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ сСрвСр ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. БСссию с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ осущСствляСт сСрвСр.

На транспортном ΡƒΡ€ΠΎΠ²Π΅Π½Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ замыкаСтся Π½Π° балансировщикС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ прокси. Он взаимодСйствуСт с сСрвСрами ΠΎΡ‚ своСго ΠΈΠΌΠ΅Π½ΠΈ, пСрСдавая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, популярный ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ балансировщик HAProxy.

Балансировка Π½Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅

ΠŸΡ€ΠΈ балансировкС Π½Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ балансировщик Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«ΡƒΠΌΠ½ΠΎΠ³ΠΎ прокси». Он Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ клиСнтскиС запросы ΠΈ пСрСнаправляСт ΠΈΡ… Π½Π° Ρ€Π°Π·Π½Ρ‹Π΅ сСрвСры Π² зависимости ΠΎΡ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Π’Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π΅Π±-сСрвСр Nginx, распрСдСляя запросы ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ΠΎΠΌ ΠΈ бэкСндом. Π—Π° балансировку Π² Nginx ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Upstream. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± особСнностях балансировки Nginx Π½Π° основС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, здСсь.

Π’ качСствС Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° инструмСнта балансировки Π½Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ привСсти pgpool β€” ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ слой ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром Π‘Π£Π‘Π” PostgreSQL. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ запросы ΠΎΠΏ сСрвСрам Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² зависимости ΠΎΡ‚ ΠΈΡ… содСрТания,: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, запросы Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ сСрвСр, Π° запросы Π½Π° запись β€” Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ pgpool ΠΈ спСцификС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅).

Алгоритмы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ балансировки

БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Выбирая ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΠ· спСцифики ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… β€” ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ. ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ.

Π’ числС Ρ†Π΅Π»Π΅ΠΉ, для достиТСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ балансировка, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

ΠžΡ‡Π΅Π½ΡŒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ балансировки ΠΎΠ±Π»Π°Π΄Π°Π» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ свойствами:

Round Robin

Round Robin, ΠΈΠ»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠ³ΠΎ обслуТивания, прСдставляСт собой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΏΠΎ ΠΊΡ€ΡƒΠ³ΠΎΠ²ΠΎΠΌΡƒ Ρ†ΠΈΠΊΠ»Ρƒ: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос пСрСдаётся ΠΎΠ΄Π½ΠΎΠΌΡƒ сСрвСру, Π·Π°Ρ‚Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос пСрСдаётся Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎ достиТСния послСднСго сСрвСра, Π° Π·Π°Ρ‚Π΅ΠΌ всё начинаСтся сначала.

Π‘Π°ΠΌΠΎΠΉ распространёной ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° являСтся, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ балансировки Round Robin DNS. Как извСстно, любой DNS-сСрвСр Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΠ°Ρ€Ρƒ «имя хоста β€” IP-адрСс» для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅. Π­Ρ‚ΠΎΡ‚ список ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ· списка ΠΌΠΎΠΆΠ½ΠΎ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько IP-адрСсов:

DNS-сСрвСр ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСм записям Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ запрос ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ IP-адрСс: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ запрос β€” xxx.xxx.xxx.2, Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Ρ…Ρ…Ρ….Ρ…Ρ…Ρ….Ρ…Ρ…Ρ….3, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всС сСрвСры Π² кластСрС ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство запросов.

Π’ числС нСсомнСнных плюсов этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° слСдуСт Π½Π°Π·Π²Π°Ρ‚ΡŒ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° высокого уровня. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Round Robin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ любой ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
Балансировка Π½Π° основС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ зависит ΠΎΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр: ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ DNS-сСрвСры ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с Π»ΡŽΠ±Ρ‹ΠΌ Π½Π°ΠΏΠ»Ρ‹Π²ΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

ИспользованиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ связи ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами, поэтому ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ для локальной, Ρ‚Π°ΠΊ ΠΈ для глобальной балансировки,.
НаконСц, Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, достаточно просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько записСй Π² DNS.

Алгоритм Round Robin ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ ряд сущСствСнных нСдостатков нСдостатков. Π§Ρ‚ΠΎΠ±Ρ‹ распрСдСлСниС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎ этому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π»ΠΎ упомянутым Π²Ρ‹ΡˆΠ΅ критСриями справСдливости ΠΈ эффСктивности, Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра Π±Ρ‹Π» Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ рСсурсов. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ задСйствовано ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство рСсурсов. Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ эти условия Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡ‹ΠΌΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ балансировкС ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Round Robin ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ учитываСтся Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ сСрвСра Π² составС кластСра. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΠΌ сСбС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π³ΠΈΠΏΠΎΡ‚Π΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡƒΠ·Π»ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π° 100%, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” всСго Π½Π° 10 β€” 15%. Алгоритм Round Robin возмоТности возникновСния Ρ‚Π°ΠΊΠΎΠΉ ситуации Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, поэтому ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΡƒΠ·Π΅Π» всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ запросы. Ни ΠΎ ΠΊΠ°ΠΊΠΎΠΉ справСдливости, эффСктивности ΠΈ прСдсказуСмости Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Ρ€Π΅Ρ‡ΠΈ.

Π’ силу описанных Π²Ρ‹ΡˆΠ΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² сфСра примСнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°.

Weighted Round Robin

Π­Ρ‚ΠΎ β€” ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Π°Ρ вСрсия Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin. Π‘ΡƒΡ‚ΡŒ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ сСрвСру присваиваСтся вСсовой коэффициСнт Π² соотвСтствии с Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ: сСрвСры с большим вСсом ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ большС запросов. Однако всСх ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒΡŽ это ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚. Π‘ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ балансировку ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ распрСдСлСнии Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ учитываСтся большСС количСство ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Least Connections

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ пСрСчислили основныС нСдостатки Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Round Robin. Назовём Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½: Π² Π½Ρ‘ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ учитываСтся количСство Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Рассмотрим практичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π΄Π²Π° сСрвСра β€” ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΈΡ… условно ΠΊΠ°ΠΊ А ΠΈ Π‘. К сСрвСру А ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ мСньшС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Π΅ΠΌ ΠΊ сСрвСру Π‘. ΠŸΡ€ΠΈ этом сСрвСр А оказываСтся Π±ΠΎΠ»Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ. Как это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ? ΠžΡ‚Π²Π΅Ρ‚ достаточно прост: ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру А ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΠΊ сСрвСру Π‘.

ΠžΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, извСстного ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ least connections (сокращённо β€” leastconn). Он ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… сСрвСрами Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ вопрос пСрСдаётся сСрвСру с наимСньшим количСством Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

БущСствуСт ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ этого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для использования Π² кластСрах, состоящих ΠΈΠ· сСрвСров с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ тСхничСскими характСристиками ΠΈ Ρ€Π°Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Он называСтся Weighted Least Connections ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ распрСдСлСнии Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π½ΠΎ ΠΈ вСсовой коэффициСнт сСрвСров.

Π’ числС Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Least Connections слСдуСт ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Locality-Based Least Connection Scheduling ΠΈ Locality-Based Least Connection Scheduling with Replication Scheduling.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» создан ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… прокси-сСрвСров. Π•Π³ΠΎ ΡΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: наибольшСС количСство запросов пСрСдаётся сСрвСрам с наимСньшим количСством Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π—Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· клиСнтских сСрвСров закрСпляСтся Π³Ρ€ΡƒΠΏΠΏΠ° клиСнтских IP. Запросы с этих IP Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Β«Ρ€ΠΎΠ΄Π½ΠΎΠΉΒ» сСрвСр, Ссли ΠΎΠ½ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр (ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ).

Π’ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ Locality-Based Least Connection Scheduling with Replication Scheduling ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ IP-адрСс ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° IP-адрСсов закрСпляСтся Π½Π΅ Π·Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ сСрвСром, Π° Π·Π° Ρ†Π΅Π»ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ сСрвСров. Запрос пСрСдаётся Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌΡƒ сСрвСру ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹. Если ΠΆΠ΅ всС сСрвСры ΠΈΠ· Β«Ρ€ΠΎΠ΄Π½ΠΎΠΉΒ» Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ сСрвСр. Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ IP, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ запрос. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΈΠ· этой Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½ β€” это позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Destination Hash Scheduling ΠΈ Source Hash Scheduling

Алгоритм Destination Hash Scheduling Π±Ρ‹Π» создан для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с кластСром ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… прокси-сСрвСров, Π½ΠΎ ΠΎΠ½ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях. Π’ этом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ сСрвСр, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ запрос, выбираСтся ΠΈΠ· статичСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ IP-адрСсу получатСля.

Алгоритм Source Hash Scheduling основываСтся Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ самых ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ запрос, выбираСтся ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ IP-адрСсу отправитСля.

Sticky Sessions

Sticky Sessions β€” Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ распрСдСлСния входящих запросов, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ соСдинСния ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сСрвСр Π³Ρ€ΡƒΠΏΠΏΡ‹. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Π²Π΅Π±-сСрвСрС Nginx. БСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ сСрвСром с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° IP hash (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Ρ‘ΠΌ см. Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ). Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° запросы Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ сСрвСрам Π½Π° основС IP-aдрСса ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Как ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (см. ссылку Π²Ρ‹ΡˆΠ΅), Β«ΠΌΠ΅Ρ‚ΠΎΠ΄ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ запросы ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ сСрвСр». Если Π·Π°ΠΊΡ€Π΅ΠΏΠ»Ρ‘Π½Π½Ρ‹ΠΉ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ адрСсом сСрвСр нСдоступСн, запрос Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°:

Начиная с вСрсии 1.2.2 Π² Nginx для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвСра ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ вСс.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сопряТСно с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с привязкой сСссий ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ, Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ динамичСский IP. Π’ ситуации, ΠΊΠΎΠ³Π΄Π° большоС количСство запросов ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ прокси-сСрвСр, балансировку вряд Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ эффСктивной ΠΈ справСдливой. ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ cookies. Π’ коммСрчСской вСрсии Nginx имССтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ sticky, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ cookies для балансировки. Π•ΡΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ ΠΈ бСсплатныС Π°Π½Π°Π»ΠΎΠ³ΠΈ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, nginx-sticky-module.
МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ sticky-sessions ΠΈ Π² HAProxy β€” ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, здСсь.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎ сути прСдставляСт собой Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ этой Ρ‚Π΅ΠΌΡ‹ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… публикациях. Если Ρƒ вас Π΅ΡΡ‚ΡŒ вопросы, замСчания ΠΈ дополнСния β€” Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π‘ΡƒΠ΄Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π§ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ здСсь, ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅ΠΌ Π² наш Π±Π»ΠΎΠ³.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

NSX Advanced Load Balancer – ΡƒΠΌΠ½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π§Π°ΡΡ‚ΡŒ 1: Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈ особСнности

Π’ этом постС я Ρ…ΠΎΡ‡Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎ систСмС балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ VMware NSX Advanced Load Balancer (by Avi Networks), ΠΈΠ»ΠΈ NSX ALB. Π§ΡƒΡ‚ΡŒ большС Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ компания VMware ΠΊΡƒΠΏΠΈΠ»Π° компанию Avi Networks, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΆΠ΅ систСма балансировки смСнила Π½Π°Π·Π²Π°Π½ΠΈΠ΅ с Avi Vantage Π½Π° NSX ALB, Π½ΠΎ староС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Avi Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ происходит интСграция балансировщика с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ VMware, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, NSX. Но ΠΏΡ€ΠΈ этом остаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠ³ΠΎ использования.

Π’ сСти ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚ систСматизированной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎ NSX ALB Π½Π° русском языкС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ докумСнтация ΠΎΡ‚ Π²Π΅Π½Π΄ΠΎΡ€Π° Π½Π° английском. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ части я ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠ» Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Π΅ источники ΠΈ сдСлал ΠΎΠ±Π·ΠΎΡ€ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°: рассказал ΠΏΡ€ΠΎ особСнности, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π² Ρ‚ΠΎΠΌ числС для гСографичСски разнСсСнных ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΎΠΊ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части я описал, ΠΊΠ°ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму. НадСюсь, ΠΎΠ±Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ ΠΈΡ‰Π΅Ρ‚ балансировщик для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… срСдах ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ быстро ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ возмоТности NSX ALB.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ возмоТности

NSX ALB – ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ опрСдСляСмый балансировщик Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (Software Defined Load Balancer, SDLB) уровня Enterprise. Π­Ρ‚ΠΎ Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎ для систСм балансировки Ρ‚Π°ΠΊΠΎΠ³ΠΎ уровня, Π³Π΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ балансировщики. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ систСмы Π΄Π°Π΅Ρ‚ NSX ALB Π»Π΅Π³ΠΊΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ.
КакиС возмоТности прСдоставляСт NSX ALB:

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… соСдинСниях, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ°-ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ (RTT), пропускной способности, ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… ΠΎΡ‚Π²Π΅Ρ‚Π°, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… установлСния связи SSL, Ρ‚ΠΈΠΏΠ°Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΈ Ρ‚.Π΄. Вся информация Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

Π’ Π±Π»ΠΎΠΊΠ΅ Log Analytics справа собираСтся статистика ΠΏΠΎ основным ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ соСдинСния. МоТно навСсти ΠΌΡ‹ΡˆΡŒ Π½Π° Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» ΠΈ быстро ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² NSX ALB Π΅ΡΡ‚ΡŒ:

АрхитСктура ΠΈ схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ NSX ALB

Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ NSX ALB построСна Π½Π° стандартных ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ… для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° SDLB. Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ сСрвис для балансировки, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΏΡƒΠ»Ρ‹ (pools). Над ΠΏΡƒΠ»Π°ΠΌΠΈ администратор систСмы создаСт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвисы (Virtual Services, VS). Они содСрТат ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ балансируСмого сСрвиса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Ρ‚ΠΈΠΏ прилоТСния, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ балансировки, настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ VS ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ внСшний Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ IP-адрСс (Virtual IP, VIP) для доступа ΠΊ балансируСмому сСрвису.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΊ выглядит Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ элСмСнт систСмы – ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (Avi Controller). Он ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° автоматичСскоС Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅ мощности ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ управляСт VS. МоТно Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² инфраструктурС ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈΠ»ΠΈ отказоустойчивый кластСр ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².

Π’ отказоустойчивом Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ кластСр ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² состоит ΠΈΠ· 3 ΡƒΠ·Π»ΠΎΠ². Один ΠΈΠ· ΡƒΠ·Π»ΠΎΠ² становится Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ (leader), ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Π΄ΠΎΠΌΡ‹ΠΌΠΈ (follower). ВсС 3 ΡƒΠ·Π»Π° Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹ кластСра ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ²:

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ SE ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅. Π—Π° счСт Ρ‚Π°ΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ NSX ALB ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ – увСличивая число SE, Ρ‚Π°ΠΊ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ – наращивая мощности ΠΊΠ°ΠΆΠ΄ΠΎΠΉ SE.

Π§Π΅ΠΌ большС сСрвисов балансируСт SE, Ρ‚Π΅ΠΌ большС сСтСвых интСрфСйсов задСйствуСтся. На ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ схСмС Π½ΠΈΠΆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ 2 Ρ‚ΠΈΠΏΠ° сСтСй:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ VS Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ SE, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ сСрвис. Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ SE (SE Group). ΠŸΡ€ΠΈ создании VS ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡƒ SE: ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Default Group) ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ, Ссли для VS Π½ΡƒΠΆΠ½Ρ‹ особыС настройки Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹.

ΠžΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ VS. НапримСр, Ссли Π² систСмС ΡƒΠΆΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ SE Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ Π½Π° этих SE Π΅Ρ‰Π΅ Π΅ΡΡ‚ΡŒ рСсурсы, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ VS с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ размСстится Π½Π° Π½ΠΈΡ…. Если ΠΆΠ΅ ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ для VS Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ, ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ SE c Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ.

На ΡƒΡ€ΠΎΠ²Π½Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ SE Π·Π°Π΄Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки размСщСния VS:

ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π² расчСтС Π½Π° 1 vCPU составляСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 40 тысяч ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ/с ΠΈ Π² срСднСм – 4 Π“Π‘/с. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ отличаСтся для Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ балансировки ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°: Π½Π° L4 ΠΎΠ½ большС, Π½Π° L7 мСньшС, ΠΈΠ·-Π·Π° нСобходимости Π°Π½Π°Π»ΠΈΠ·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΏΡ€ΠΈ SSL – Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС, ΠΈΠ·-Π·Π° нСобходимости ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

АрхитСктура ΠΈ схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ для гСографичСски разнСсСнных сСрвСров

Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ сСрвисС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ сСрвСры Π² ΠΏΡƒΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π°ΠΊΠ°. Π”Π°ΠΆΠ΅ Ссли ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ нСсколько ΠΎΠ±Π»Π°ΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΌΡ‹ Π½Π΅ смоТСм ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сСрвСры ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±Π»Π°ΠΊΠΎΠ² Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ VS. Π­Ρ‚Ρƒ Π·Π°Π΄Π°Ρ‡Ρƒ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ сСрвис глобальной балансировки GSLB. Он позволяСт Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ гСографичСски разнСсСнныС сСрвСры, находящиСся Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±Π»Π°ΠΊΠ°Ρ….

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ глобального сСрвиса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅, ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±Π»Π°ΠΊΠ°. Π’ΠΎΡ‚ случаи, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ GSLB:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅: балансировку ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвис DNS, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ NSX ALB. ΠšΠ»ΠΈΠ΅Π½Ρ‚ отправляСт запрос ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвису ΠΏΠΎ FQDN-ΠΈΠΌΠ΅Π½ΠΈ. DNS ΠΎΡ‚Π΄Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ IP локального VS Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅. НаиболСС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π»Π°ΠΊΠΎ сСрвис Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½Π° основС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° балансировки, Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ доступности Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… VS Π½Π° Health Monitor ΠΈ гСографичСского полоТСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. МоТно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ балансировки – ΠΊΠ°ΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ глобального сСрвиса, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ GSLB.

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· схСмы GSLB, Π² Π΅Π΅ основС Π»Π΅ΠΆΠ°Ρ‚ элСмСнты ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ схСмы: ΠΏΡƒΠ»Ρ‹ сСрвСров, Π½Π°Π΄ Π½ΠΈΠΌΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвисы (VS) с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ IP (VIP) ΠΈ слуТСбныС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (SE). ΠŸΡ€ΠΈ построСнии GSLB ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ сСрвис (global VS) – сСрвис, балансируСмый ΠΌΠ΅ΠΆΠ΄Ρƒ гСографичСски разнСсСнными сСрвСрами ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ.

GSLB-сайт (GSLB Site) Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ управляСмыС ΠΈΠΌ SE, располоТСнныС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сайта ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΡˆΠΈΡ€ΠΎΡ‚Π΅ ΠΈ Π΄ΠΎΠ»Π³ΠΎΡ‚Π΅. Π’Π°ΠΊ GSLB смоТСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡƒΠ» сСрвСров ΠΏΠΎ удалСнности ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Π‘Π°ΠΉΡ‚Ρ‹ GSLB Π½Π° основС систСмы NSX ALB дСлятся Π½Π° Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ (leader) ΠΈ Π²Π΅Π΄ΠΎΠΌΡ‹Π΅ (follower). Как ΠΈ Π² случаС с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, такая схСма обСспСчиваСт ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ сСрвиса GSLB.

Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ сайт ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ балансировкС, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ осущСствляСт ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ GSLB ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ сайта.

Π’Π΅Π΄ΠΎΠΌΡ‹Π΅ сайты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈ пассивными.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ» (global pool) отличаСтся ΠΎΡ‚ локального ΠΏΡƒΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСры. Π’ глобальном ΠΏΡƒΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ гСографичСски разнСсСнныС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвисы с Ρ€Π°Π·Π½Ρ‹Ρ… сайтов. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΠ» содСрТит Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ VS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ GSLB-сайтов.

Балансировка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами глобального ΠΏΡƒΠ»Π° производится:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ балансировки ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡƒΠ»Π°ΠΌΠΈ. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ VS Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² этой схСмС:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

ΠŸΡƒΠ» GslbPool_3 ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ 10 ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ для клиСнтских ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Из этих ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ 40% Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π° VS-B3 ΠΈ 60% Π½Π° VS-B4. Если GslbPool_3 станСт нСдоступСн, всС клиСнтскиС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΡƒΡ‚ Π½Π° GslbPool_2, Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ VS-B3 ΠΈ VS-B4 распрСдСлится Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ DNS содСрТат записи с FQDN-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ балансируСмых Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ сСрвисов.

GSLB DNS – Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ локального DNS VS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для балансировки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ GSLB-сайтами.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ DNS VS Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ GSLB DNS, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΅Π³ΠΎ Π² качСствС DNS-сСрвиса для поднятого GSLB. Π’Π°ΠΊΠΎΠΉ DNS VS Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ Π½Π° всСх сайтах, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ»Ρ‹.

GSLB добавляСт записи с FQDN-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… сСрвисов Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… DNS. NSX ALB вносит Π² эту запись Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ IP Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… VS со всСх сайтов, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡƒΠ» глобального VS. Π­Ρ‚ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ VIP Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ автоматичСски с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΏΡƒΠ» Π½ΠΎΠ²Ρ‹Ρ… Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… VS. Π”Π°Π½Π½Ρ‹Π΅ Π² записях ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ накоплСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ сСрвиса, доступности сСрвСров ΠΈ удалСнности ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ сайтов. Когда Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΏΠΎ FQDN, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… DNS Π²Ρ‹Π΄Π°Π΅Ρ‚ VIP-адрСс локального VS, учитывая эти Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Как Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму NSX ALB, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π² Π½Π΅ΠΉ сСрвис GSLB, я описал Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части этой ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ балансировку ΠΈ проксированиС

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it

НСдавно я осознал Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΎ соврСмСнной сСтСвой балансировкС ΠΈ проксировании. Π― ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»: Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ? Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ β€” ΠΎΠ΄Π½Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ для построСния Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… распрСдСлённых систСм. Π’Π΅Π΄ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ доступна качСствСнная информация ΠΎΠ± этом?Β» Π― поискал ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ°Π»ΠΎ. Π‘Ρ‚Π°Ρ‚ΡŒΠΈ Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ ΠΎ балансировкС ΠΈ прокси-сСрвСрах содСрТат ΠΎΠ±Π·ΠΎΡ€Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ, Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ описаниСм ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°, особСнно Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ касаСтся соврСмСнных микросСрвисных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€. Поиск Π² Google ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ балансировкС Π² основном Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сайты Π²Π΅Π½Π΄ΠΎΡ€ΠΎΠ², Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌΠΈ ΠΈ скупыС Π½Π° подробности.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ постСпСнного ввСдСния Π² ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ балансировку ΠΈ проксированиС. По ΠΏΡ€Π°Π²Π΄Π΅ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, это ΠΎΠ±ΡŠΡ‘ΠΌΠ½Π°Ρ Ρ‚Π΅ΠΌΠ°, достойная Ρ†Π΅Π»ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. И Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Π±Π΅Π·Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉ, я постарался ряд слоТных Π·Π°Π΄Π°Ρ‡ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ простого ΠΎΠ±Π·ΠΎΡ€Π°.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСтСвая балансировка ΠΈ проксированиС?

ВикипСдия опрСдСляСт балансировку Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Π°ΠΊ:

Π’ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ распрСдСлСниС Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΏΠΎ нСскольким Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ рСсурсам: ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌ, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ кластСрам, сСтСвым ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌ, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссорам ΠΈΠ»ΠΈ дисковым устройствам. Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС рСсурсов, максимально ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с балансировкой ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ благодаря ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ запасу мощностСй. Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ использованиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ПО ΠΈΠ»ΠΈ оборудования Π²Ρ€ΠΎΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ DNS-сСрвСра.

Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊΠΎ всСм аспСктам ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ΅Ρ‚ΡŒΡŽ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ балансировку для диспСтчСризации Π·Π°Π΄Π°Ρ‡ срСди Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… физичСских процСссоров. ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Π΅ оркСстраторы Π²Ρ€ΠΎΠ΄Π΅ Kubernetes ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ балансировку для диспСтчСризации Π·Π°Π΄Π°Ρ‡ срСди Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… кластСров. А сСтСвыС балансировщики Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ сСтСвыС Π·Π°Π΄Π°Ρ‡ΠΈ срСди доступных бэкСндов. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ посвящСна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСтСвой балансировкС.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 1: сСтСвая балансировка

На ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° упрощённая схСма сСтСвой балансировки. НСкоторыС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ рСсурсы с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… бэкСндов. Балансировщик находится ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ бэкСндами ΠΈ выполняСт нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡:

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС балансировки Π² распрСдСлённой систСмС Π΄Π°Ρ‘Ρ‚ нСсколько прСимущСств:

Балансировщик ΠΈΠ»ΠΈ прокси?

Π’Π΅Ρ€ΠΌΠΈΠ½Ρ‹ балансировщик ΠΈ прокси часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ взаимозамСняСмыС. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ‚ΠΎΠΆΠ΅ Π² Ρ†Π΅Π»ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³Π°ΠΌΠΈ (строго говоря, Π½Π΅ всС прокси β€” это балансировщики, Π½ΠΎ пСрвичная функция ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° β€” ΠΈΠΌΠ΅Π½Π½ΠΎ балансировка). ΠšΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли балансировка β€” это Ρ‡Π°ΡΡ‚ΡŒ встроСнной клиСнтской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎ балансировщик Π½Π΅ прокси. Но я ΠΎΡ‚Π²Π΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ излишнС услоТняСт ΠΈ Π±Π΅Π· Ρ‚ΠΎΠ³ΠΎ Π½Π΅ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ. НиТС ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим Ρ‚ΠΈΠΏΡ‹ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ балансировщиков, Π½ΠΎ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ топология встроСнного балансировщика Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ частным случаСм проксирования: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ проксируСт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π΅ΠΉ Ρ‚Π΅ ΠΆΠ΅ абстракции, Ρ‡Ρ‚ΠΎ ΠΈ балансировщик Π²Π½Π΅ процСсса прилоТСния.

L4 (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/сСссии)-балансировка

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ балансировочныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎ большСй части ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: L4 ΠΈ 7. Они относятся ΠΊ ΡƒΡ€ΠΎΠ²Π½ΡŽ 4 ΠΈ ΡƒΡ€ΠΎΠ²Π½ΡŽ 7 ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI. По ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ станут ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ Π² Ρ…ΠΎΠ΄Π΅ обсуТдСния L7-балансировки, Π²Ρ‹Π±ΠΎΡ€ этих Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² я ΡΡ‡ΠΈΡ‚Π°ΡŽ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ. МодСль OSI ΠΎΡ‡Π΅Π½ΡŒ слабо ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ балансировочных Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Π² сСбя Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚ΠΎΠ³ΠΎ уровня, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ TCP ΠΈ UDP, Π½ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΈ элСмСнты ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ OSI. НапримСр, Ссли L4 TCP-балансировщик ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΈ TLS-ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΎΠ½ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ L7-балансировщик?

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 2: ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ L4 TCP-балансировщик

Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 2 ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ L4 TCP-балансировщик. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ создаёт TCP-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ балансировщику, Ρ‚ΠΎΡ‚ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Ρ‚. Π΅. ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ SYN), Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ бэкСнд ΠΈ создаёт Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ этому бэкСнду (Ρ‚. Π΅. отправляСт Π΄Π°Π½Π½Ρ‹Π΅ Π½ΠΎΠ²ΠΎΠΌΡƒ SYN). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ схСмы сСйчас Π½Π΅ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Ρ‹, ΠΌΡ‹ обсудим ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅, посвящённому L4-балансировкС.

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ ΠΌΡ‹ΡΠ»ΡŒ β€” L4-балансировщик ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ L4 TCP/UDP-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ/сСссий. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, балансировщик ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π±Π°ΠΉΡ‚Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Π°ΠΉΡ‚Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ сСссии ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ бэкСнд. Π’Π°ΠΊΠΎΠΌΡƒ балансировщику Π½Π΅Π²Π°ΠΆΠ½Ρ‹ особСнности ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡ΡŒΠΈΠΌΠΈ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ ΠΎΠ½ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹ HTTP, Redis, MongoDB ΠΈΠ»ΠΈ любого ΠΈΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

L7 (прилоТСния)-балансировка

L4-балансировка проста ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ примСняСтся. КакиС ΠΆΠ΅ Π΅Ρ‘ особСнности Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² L7-балансировку Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ? Рассмотрим Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ случай L4:

Если бэкСнд Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° А, Ρ‚ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 3000 Ρ€Π°Π· мСньшС, Ρ‡Π΅ΠΌ Ссли Π±Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π‘! Π­Ρ‚ΠΎ большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ тСряСтся смысл балансировки. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π° для любого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ постоянныС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (keep-alive) (ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” это ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Ρ‹Ρ… запросов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄Π½ΠΎ L4-соСдинСниС, Π° keep-alive β€” это сохранСниС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² отсутствиС Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… запросов). ВсС соврСмСнныС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅, ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ постоянныС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, этого Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ сообраТСния эффСктивности (Π² Ρ†Π΅Π»ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ€ΠΎΠ³ΠΎ, особСнно Ссли ΠΎΠ½ΠΎ ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TLS), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ рассогласованиС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² L4-балансировщикС со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ усиливаСтся. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ L7-балансировщика.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 3: ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ L7 HTTP/2-балансировщик

На ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 3 ΠΏΠΎΠΊΠ°Π·Π°Π½ L7 HTTP/2-балансировщик. Π’ этом случаС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ создаёт ΠΎΠ΄Π½ΠΎ HTTP/2 TCP- ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ балансировщику, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ создаёт Π΄Π²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ бэкСндам. Когда ΠΊΠ»ΠΈΠ΅Π½Ρ‚ отправляСт Π² балансировщик Π΄Π²Π° HTTP/2-ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² бэкСнд 1, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π² бэкСнд 2. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ с ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎ запросам Π±ΡƒΠ΄ΡƒΡ‚ эффСктивно сбалансированы ΠΏΠΎ бэкСндам. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ L7-балансировка Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Π° для соврСмСнных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² (Ρƒ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΊΡƒΡ‡Π° прСимущСств благодаря возмоТности ΠΈΠ½ΡΠΏΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΎΠ± этом ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½ΠΈΠΆΠ΅).

L7-балансировка ΠΈ модСль OSI

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ модСль OSI для описания свойств балансировки. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ L7, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ согласно ΠΌΠΎΠ΄Π΅Π»ΠΈ OSI, сама ΠΏΠΎ сСбС ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ нСсколько дискрСтных ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ абстракции балансировки. НапримСр, для HTTP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ΄ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ:

Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ L7-балансировщик Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со всСми этими подуровнями. Π‘ΠΎΠ»Π΅Π΅ простой L7-балансировщик ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ лишь нСбольшим Π½Π°Π±ΠΎΡ€ΠΎΠΌ свойств, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π΅Π³ΠΎ относят ΠΊ L7. Π˜Π½Ρ‹ΠΌΠΈ словами, свойства L7-балансировщиков Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ Π² ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ L4. И ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, здСсь ΠΌΡ‹ ΠΊΠΎΡΠ½ΡƒΠ»ΠΈΡΡŒ лишь HTTP, Π½ΠΎ Redis, Kafka, MongoDB ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ β€” всё это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ L7-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΡ‚ использования L7-балансировки.

Бвойства балансировщика

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрим основныС свойства балансировщиков. НС для всСх балансировщиков Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ всС ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡ‹Π΅ свойства.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСрвисов

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ сСрвисов β€” это способ опрСдСлСния балансировщиком Π½Π°Π±ΠΎΡ€Π° доступных бэкСндов. Π”Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния

Π­Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ Π»ΠΈ бэкСнд ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния Π±Ρ‹Π²Π°Π΅Ρ‚:

Балансировка

Π”Π°, балансировщики Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΅Ρ‰Ρ‘ Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ! Как Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ бэкСнд для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ запроса ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… бэкСндов? Алгоритмы балансировки β€” это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… исслСдований; ΠΎΠ½ΠΈ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ Ρ‚Π°ΠΊΠΈΡ… простых, ΠΊΠ°ΠΊ случайный Π²Ρ‹Π±ΠΎΡ€ ΠΈ round-robin, Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТных, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… различия Π² Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ… ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… Π½Π° бэкСнды. Один ΠΈΠ· самых популярных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² благодаря ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ простотС β€” power of 2.

Sticky-сСссии

Для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ запросы ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ сСссии ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ бэкСнд. Π­Ρ‚ΠΎ связано с ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ слоТным состояниСм ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ. Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ опрСдСлСния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° «сСссия», ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя HTTP-ΠΊΡƒΠΊΠΈ, свойства клиСнтского ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. МногиС L7-балансировщики ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ sticky-сСссии. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Β«Π»ΠΈΠΏΠΊΠΎΡΡ‚ΡŒΒ» сСссии ΠΏΠΎ своСй сути Ρ…Ρ€ΡƒΠΏΠΊΠ° (бэкСнд, хостящий сСссию, ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΌΠ΅Ρ€Π΅Ρ‚ΡŒ), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ ΡƒΡ…ΠΎ востро, проСктируя систСму, ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΡƒΡŽΡΡ Π½Π° sticky-сСссии.

TLS-ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅

Π’Π΅ΠΌΠ° TLS ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ»ΠΈ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ обСспСчСнии бСзопасности мСТсСрвисного взаимодСйствия заслуТиваСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ. МногиС L7-балансировщики Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ большой ΠΎΠ±ΡŠΡ‘ΠΌ TLS-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ прСрывания, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ сСртификатов, обслуТиваниС сСртификатов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SNI ΠΈ Ρ‚. Π΄.

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ

Как я люблю ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ: Β«ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ, Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒΒ». Π‘Π΅Ρ‚ΠΈ Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹, ΠΈ балансировщик часто ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° экспортированиС статистики, отслСТиваниС ΠΈ ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит, ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Π£ балансировщиков Π±Ρ‹Π²Π°ΡŽΡ‚ самыС Ρ€Π°Π·Π½Ρ‹Π΅ возмоТности прСдоставлСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² наблюдСния Π·Π° систСмой. Π‘Π°ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ статистику, Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ трассировку ΠΈ настраиваСмоС ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΡ‚ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ продвинутая Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ достаётся Π½Π΅ бСсплатно: балансировщикам приходится Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Однако Π²Ρ‹Π³ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшоС сниТСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ послСдствий DoS

Балансировщики часто Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ бСзопасности, особСнно Π² ΠΊΡ€Π°Π΅Π²ΠΎΠΉ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ развёртывания (см. Π½ΠΈΠΆΠ΅), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ послСдствий DoS (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ IP-адрСсов, tarpitting ΠΈ ΠΏΡ€.).

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΈ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ управлСния

Балансировщики Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… развёртываниях это прСвращаСтся Π² Π²Π°ΠΆΠ½ΡƒΡŽ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ. БистСма, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ балансировщики, называСтся ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ управлСния (control plane), Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π—Π° подробностями ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ΡΡŒ ΠΊ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

И ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅

ΠœΡ‹ лишь ΠΏΡ€ΠΎΡˆΠ»ΠΈΡΡŒ ΠΏΠΎ повСрхности Ρ‚Π΅ΠΌΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ балансировщиков. ΠœΡ‹ Π΅Ρ‰Ρ‘ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± этом Π² части, посвящённой L7-балансировщикам.

Π’ΠΈΠ΄Ρ‹ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ балансировщиков

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ топологиям распрСдСлённых систСм, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ балансировщики. КаТдая топология ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΈ ΠΊ L4, ΠΈ ΠΊ L7.

ΠŸΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ прокси

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 4: топология балансировщика с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ прокси

Вопология с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ прокси, показанная Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 4, β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных способов балансировки. К Ρ‚Π°ΠΊΠΈΠΌ балансировщикам относятся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Cisco, Juniper, F5 ΠΈ Π΄Ρ€.; ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ€ΠΎΠ΄Π΅ Amazon ALB ΠΈ NLB, Google Cloud Load Balancer; чисто ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π²Ρ€ΠΎΠ΄Π΅ HAProxy, NGINX ΠΈ Envoy. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ схСмы с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ прокси Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² простотС. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ балансировщику Ρ‡Π΅Ρ€Π΅Π· DNS ΠΈ большС Π½ΠΈ ΠΎ Ρ‡Ρ‘ΠΌ Π½Π΅ бСспокоятся. А нСдостаток схСмы Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ прокси (Π΄Π°ΠΆΠ΅ кластСризованный) β€” это Сдиная Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ΠΊΠ°Π·Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·ΠΊΠΎΠ΅ мСсто ΠΏΡ€ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ прокси часто Π±Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΌ ящиком, Ρ‡Ρ‚ΠΎ затрудняСт ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅? Π’ физичСской сСти? Π’ самом прокси? Π’ бэкСндС? Иногда ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ.

ΠžΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ прокси

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 5: топология балансировщика с ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ прокси

Вопология Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 5 β€” Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ прокси, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ балансировщик доступСн Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. А Π² Π΄Π°Π½Π½ΠΎΠΌ случаС балансировщик ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности Β«API-шлюза» Π²Ρ€ΠΎΠ΄Π΅ TLS-ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, ограничСния скорости, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρƒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ использования Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ с ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ прокси Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ распрСдСлённых систСмах. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ доступ ΠΊ систСмС ΠΏΠΎ DNS с использованиСм Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСтСвых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ сСрвиса (нСцСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямо Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… встроСнныС клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ с ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ прокси, описанныС Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ сообраТСниям бСзопасности Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ шлюз, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² систСму поступаСт вСсь ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.

ВстроСнная клиСнтская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 6: балансировка Ρ‡Π΅Ρ€Π΅Π· Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, свойствСнных топологиям с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ прокси, Π² Π±ΠΎΠ»Π΅Π΅ слоТных инфраструктурах примСняСтся встраиваниС балансировщика посрСдством Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ прямо Π² сСрвисы, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 6. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, самыС извСстныС ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β€” Finagle, Eureka/Ribbon/Hystrix ΠΈ gRPC (основанный Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ систСмС Google ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Stubby). Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° основС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ балансировщика ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ распрСдСляСтся ΠΏΠΎ всСм ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π° ΠΈ трудностСй ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅Ρ‚. Основной нСдостаток β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ языкС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. РаспрСдСлённыС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ становятся настоящими ΠΏΠΎΠ»ΠΈΠ³Π»ΠΎΡ‚Π°ΠΌΠΈ (многоязычными). Π’ Ρ‚Π°ΠΊΠΎΠΉ срСдС Π³Π»Π°Π²Π½ΠΎΠ΅ прСпятствиС β€” ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТной сСтСвой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… языках. НаконСц, Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ обновлСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ большого сСрвиса прСвращаСтся Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π³ΠΎΠ»ΠΎΠ²Π½ΡƒΡŽ боль, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΡƒΡ‡Π° Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΈΠ²Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

Учитывая сказанноС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ цСлСсообразно Π² компаниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ языков программирования ΠΈ ΠΏΡ€Π΅Π²ΠΎΠ·ΠΌΠΎΡ‡ΡŒ трудности обновлСния Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠŸΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ прокси

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 7: балансировка Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΉ прокси

Вопология с ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ прокси β€” Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ со встроСнной клиСнтской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ. Π’ послСдниС Π³ΠΎΠ΄Ρ‹ эта топология Π±Ρ‹Π»Π° популяризирована Π² качСствС service mesh. ИдСя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС прСимущСства Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° со встроСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π±Π΅Π· Π·Π°ΠΌΠΎΡ€ΠΎΡ‡Π΅ΠΊ с языками программирования, Π½ΠΎ Π·Π° счёт нСбольшого увСличСния Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ процСссу. БСгодня самыС популярныС балансировщики с ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ прокси β€” это Envoy, NGINX, HAProxy, ΠΈ Linkerd. ΠŸΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΌΠΎΠ΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎΠ± Envoy, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎΠ± ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄Π°Π½Π½Ρ‹Ρ… service mesh ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ управлСния.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ топология с ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ прокси (service mesh) Π² мСТсСрвисном взаимодСйствии постСпСнно смСнит всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π‘Ρ…Π΅ΠΌΠ° с ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ прокси всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½Π° Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠΏΠ°Π΄Ρ‘Ρ‚ Π² service mesh.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ достиТСния Π² L4-балансировкС

L4-балансировщики всё Π΅Ρ‰Ρ‘ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹?

ΠœΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ прСимущСствах L7-балансировщиков для соврСмСнных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π° Π½ΠΈΠΆΠ΅ обсудим ΠΈΡ… возмоТности ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π»ΠΈ это, Ρ‡Ρ‚ΠΎ L4-балансировщики большС Π½Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹? НСт! Π₯отя я ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ L7-балансировщики ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ замСнят L4 Π² мСТсСрвисном взаимодСйствии, ΠΎΠ΄Π½Π°ΠΊΠΎ L4-балансировщики всё Π΅Ρ‰Ρ‘ ΠΎΡ‡Π΅Π½ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… сСти, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ‡Ρ‚ΠΈ всС соврСмСнныС большиС распрСдСлённыС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π΄Π²ΡƒΡ…ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ L4/L7-балансировки. Π’ΠΎΡ‚ прСимущСства размСщСния Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… L4-балансировщиков ΠΏΠ΅Ρ€Π΅Π΄ L7-балансировщиками Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ…:

Π”Π°Π»ΡŒΡˆΠ΅ я ΠΎΠΏΠΈΡˆΡƒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… схСм L4-балансировщиков с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ/ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ прокси. Π­Ρ‚ΠΈ схСмы Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ для Ρ‚ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΉ с клиСнтской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ ΠΏΠΎΠ±ΠΎΡ‡Π½Ρ‹ΠΌ прокси.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ TCP/UDP-балансировщики

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 8: ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ L4-балансировщик

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‚ΠΈΠΏ L4-балансировщиков, всё Π΅Ρ‰Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‚ ΠΆΠ΅ балансировщик, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎΠ± L4-балансировщиках. Π—Π΄Π΅ΡΡŒ Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… TCP-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ: ΠΎΠ΄Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ балансировщиком, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ балансировщиком ΠΈ бэкСндом.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ L4-балансировщики всё Π΅Ρ‰Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π΄Π²ΡƒΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

Балансировщики с TCP/UDP-Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΎΠΌ

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 9: Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΉ L4-балансировщик

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ L4-балансировщика β€” Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½Ρ‹ΠΉ β€” ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 9. Π—Π΄Π΅ΡΡŒ TCP-ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ балансировщиком Π½Π΅ прСрываСтся. ВмСсто этого послС отслСТивания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ прСобразования сСтСвых адрСсов (NAT) ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ бэкСнд. Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ опрСдСлимся с отслСТиваниСм ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ NAT:

Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ балансировщик этого Ρ‚ΠΈΠΏΠ° вмСсто ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ, описанного Π²Ρ‹ΡˆΠ΅? Π’Π΅Π΄ΡŒ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ слоТСн. Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½:

ΠŸΡ€ΡΠΌΠΎΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ с сСрвСра (DSR)

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 10: L4 прямой Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ с сСрвСра (DSR)

На ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 10 ΠΏΠΎΠΊΠ°Π·Π°Π½ балансировщик с прямым Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ с сСрвСра. Он создаётся Π½Π° Π±Π°Π·Π΅ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ балансировщика. По сути, DSR β€” это оптимизация, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ входящиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ запросов проходят Ρ‡Π΅Ρ€Π΅Π· балансировщик, Π° исходящиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² обходят Π΅Π³ΠΎ ΠΈ ΠΈΠ΄ΡƒΡ‚ прямо ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ. Π’Ρ‹Π³ΠΎΠ΄Π° ΠΎΡ‚ использования DSR Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²ΠΈΠ΄Π°Ρ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ большС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° запросов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для HTTP-запросов/ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²). Допустим, 10 % Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° β€” это запросы, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ 90 % β€” ΠΎΡ‚Π²Π΅Ρ‚Ρ‹, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ использовании DSR Π±ΡƒΠ΄Π΅Ρ‚ достаточно балансировщика с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π² 1/10 пропускной способности систСмы. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ балансировщики историчСски ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΈ, такая оптимизация сильно сниТаСт ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ систСмы ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ. DSR-балансировщики β€” Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ балансировщика:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² схСмах Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΈ DSR-балансировщика Π½Π° балансировщикС ΠΈ бэкСндС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны Ρ€Π°Π·Π½Ρ‹Π΅ способы отслСТивания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ NAT, GRE ΠΈ ΠΏΡ€. Но это ΡƒΠΆΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям благодаря высокодоступным ΠΏΠ°Ρ€Π°ΠΌ (high availability pairs)

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 11: L4 ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям благодаря HA-ΠΏΠ°Ρ€Π°ΠΌ ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ

Пока Ρ‡Ρ‚ΠΎ ΠΌΡ‹ рассматривали схСму L4-балансировщиков Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° окруТСния. Π’Ρ€Π°Π½Π·ΠΈΡ‚Π½ΠΎΠΌΡƒ ΠΈ DSR-балансировщику Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ количСство Π΄Π°Π½Π½Ρ‹Ρ… отслСТивания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ состояний. А Ρ‡Ρ‚ΠΎ, Ссли балансировщик ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚? Если ΠΎΠ½ Π±Ρ‹Π» ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ всС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, шСдшиС Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ, оборвутся. Π’ зависимости ΠΎΡ‚ ситуации это ΠΌΠΎΠΆΠ΅Ρ‚ сильно ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прилоТСния.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈ слоТилось, Ρ‡Ρ‚ΠΎ L4-балансировщики прСдставляли собой Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ (Cisco, Juniper, F5 ΠΈ ΠΏΡ€.). Π­Ρ‚ΠΈ устройства ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ большой ΠΎΠ±ΡŠΡ‘ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Ρ‹Π²Π° всСх ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ·-Π·Π° сбоя СдинствСнного балансировщика, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ Π΄Π²Π° балансировщика, объСдиняя ΠΈΡ… Π² высокодоступныС ΠΏΠ°Ρ€Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 11. Π‘Ρ…Π΅ΠΌΠ° Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ HA-ΠΏΠ°Ρ€Ρ‹ устроСна Ρ‚Π°ΠΊ:

Π­Ρ‚Π° схСма сСгодня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-прилоТСниях с высоким Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ. Но Ρƒ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ нСсколько Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… нСдостатков:

Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ кластСров с распрСдСлённым консистСнтным Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 12: L4 ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ кластСров с распрСдСлённым консистСнтным Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

Π‘ сСрСдины 2000-Ρ… Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-инфраструктурах Π½Π°Ρ‡Π°Π»ΠΈ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅, сильно распараллСлСнныС L4 балансировочныС систСмы, ΠΊΠ°ΠΊ Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 12. Π˜Ρ… Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π±Ρ‹Π»ΠΈ:

Π’Π°ΠΊΡƒΡŽ схСму ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΡƒΡŽ ΠΊ сбоям ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ кластСризации ΠΈ распрСдСлённого консистСнтного Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ½Π° Ρ‚Π°ΠΊ:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Π°Ρ схСма избавляСт нас ΠΎΡ‚ нСдостатков, свойствСнных схСмС с высокодоступной ΠΏΠ°Ρ€ΠΎΠΉ:

Когда Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Ρ‡ΡŒ ΠΎΠ± этой схСмС, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚: Β«ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Ρ‹ Π½Π΅ ΠΎΠ±Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с бэкСндами Ρ‡Π΅Ρ€Π΅Π· ECMP? Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½Ρ‹ балансировщики?Β» Π’ основном ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Π·Π°Ρ‰ΠΈΡ‚Π΅ ΠΎΡ‚ DoS ΠΈ простотС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с бэкСндами. Π‘Π΅Π· балансировщиков ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ бэкСнд Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BGP, ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅.

БСгодня всС систСмы L4-балансировки ΠΏΠ΅Ρ€Π΅Π½ΠΈΠΌΠ°ΡŽΡ‚ эту схСму (ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΅Ρ‘ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²). Π”Π²Π° самых извСстных ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° β€” Google Maglev ΠΈ Amazon Network Load Balancer (NLB). Пока Π½Π΅ сущСствуСт OSS-балансировщика, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ эту схСму, Π½ΠΎ я знаю, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° компания ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Π² 2018-ΠΌ. Π–Π΄Ρƒ с Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ соврСмСнный L4-балансировщик β€” ваТная Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ OSS ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΡΠ΅Ρ‚ΡŒΡŽ.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ достиТСния Π² L7-балансировкС

ΠŸΡ€ΠΎΠΊΡΠΈ-Π²ΠΎΠΉΠ½Ρ‹ β€” это практичСски Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ прокси-Π²ΠΎΠΉΠ½Ρ‹. Или Β«Π²ΠΎΠΉΠ½Ρ‹ прокси». Nginx плюс, HAProxy, linkerd, Envoy, всС Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΡΡ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ с этим. И proxy-as-a-service/routing-as-a-service SaaS-Π²Π΅Π½Π΄ΠΎΡ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‚ ΠΏΠ»Π°Π½ΠΊΡƒ. ΠžΡ‡Π΅Π½ΡŒ интСрСсныС Π²Ρ€Π΅ΠΌΠ΅Π½Π°!
β€” @copyconstruct

И Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π² послСдниС Π³ΠΎΠ΄Ρ‹ ΠΌΡ‹ наблюдали Π²ΠΎΠ·Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ L7-балансировщиков/прокси. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ согласуСтся с Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² сторону микросСрвисных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² распрСдСлённых систСмах. Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сСтями, склонными ΠΏΠΎ своСй ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π΅ ΠΊ сбоям, становится Ρ‚Π΅ΠΌ Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅, Ρ‡Π΅ΠΌ Ρ‡Π°Ρ‰Π΅ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, расцвСт Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Ρ‹Ρ… диспСтчСров ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… инструмСнтов ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π° прСдоставлСния статичных IP Π² статичных Ρ„Π°ΠΉΠ»Π°Ρ… Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡˆΠ»ΠΈ. БистСмы Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ сСти, ΠΎΠ½ΠΈ становятся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Π΅Π΅, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‚ балансировщиков большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’ этой части ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрим направлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ удСляСтся большС всСго внимания ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ соврСмСнных L7-балансировщиков.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ L7-балансировщики привносят ΡΠ²Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ многочислСнных ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². Π§Π΅ΠΌ большС балансировщик Π·Π½Π°Π΅Ρ‚ ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ΅ прилоТСния, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ слоТныС дСйствия ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ с Π½ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ наблюдСний, ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡƒΡŽ балансировку ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ Ρ‚. ΠΏ. НапримСр, Envoy явно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ парсинг L7-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ для HTTP/1, HTTP2, gRPC, Redis, MongoDB ΠΈ DynamoDB. И Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ навСрняка Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ MySQL ΠΈ Kafka.

ДинамичСская конфигурация

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, всё Π±ΠΎΠ»Π΅Π΅ динамичСская ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° распрСдСлённых систСм Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² созданиС динамичСских ΠΈ Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… систСм управлСния. Один ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Ρ‚Π°ΠΊΠΎΠΉ систСмы β€” Istio. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ здСсь.

ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Π°Ρ балансировка

L7-балансировщики сСгодня часто ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС возмоТности ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ балансировки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ скорости, Ρ€Π°Π·Ρ€Ρ‹Π² Ρ†Π΅ΠΏΠΈ (circuit breaking), Ρ‚Π΅Π½Π΅Π²ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (shadowing), буфСризация, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π² зависимости ΠΎΡ‚ содСрТимого ΠΈ Π΄Ρ€.

ΠΠ°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ

Π Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ сСгодня всё Π±ΠΎΠ»Π΅Π΅ динамичСскиС систСмы становится всё Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉ, самая ваТная функция соврСмСнных L7-балансировщиков β€” прСдоставлСниС Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… наблюдСний, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². ЧислСнная статистика, распрСдСлённыС трСйсы ΠΈ настраиваСмоС ΠΆΡƒΡ€Π½Π°Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сСгодня Π½ΡƒΠΆΠ½Ρ‹ практичСски Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ ΠΏΠΎ L7-балансировкС.

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ соврСмСнных L7-балансировщиков часто Π½ΡƒΠΆΠ½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ написания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² балансировщик. Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ балансировщики ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ скрипты, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Lua.

Π£ΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ сбоям

Π― довольно ΠΌΠ½ΠΎΠ³ΠΎ написал Π²Ρ‹ΡˆΠ΅ ΠΎΠ± устойчивости L4-балансировщиков ΠΊ сбоям. А Ρ‡Ρ‚ΠΎ насчёт L7-балансировщиков? Π’ Ρ†Π΅Π»ΠΎΠΌ с Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ Π½Π΅ хранящими состояниС (stateless). МоТно Π»Π΅Π³ΠΊΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ L7-балансировщики с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ПО. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ отслСТиваниС состояний, выполняСмыС L7-балансировщиками, Π³ΠΎΡ€Π°Π·Π΄ΠΎ слоТнСС, Ρ‡Π΅ΠΌ это Π΄Π΅Π»Π°ΡŽΡ‚ L4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ высокодоступной ΠΏΠ°Ρ€Ρ‹ L7 тСорСтичСски Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‘ΠΌΠΊΠΎ.

Π’ Ρ†Π΅Π»ΠΎΠΌ Π² сфСрС L4 ΠΈ L7 индустрия ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ высокодоступных ΠΏΠ°Ρ€ ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ систСмам, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡ‹ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ консистСнтного Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

И ΠΏΡ€ΠΎΡ‡Π΅Π΅

L7-балансировщики Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡˆΠ΅Π»ΠΎΠΌΠ»ΡΡŽΡ‰Π΅ быстро. НапримСр, Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Envoy.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ балансировка ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ управлСния

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
Π˜Π»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ 13: глобальная балансировка

Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ всё большС станут ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ балансировщики Π² Π²ΠΈΠ΄Π΅ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… устройств. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ всС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ ΠΈ коммСрчСскиС возмоТности связаны с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. На ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ 13 ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ систСмы глобальной балансировки. Π—Π΄Π΅ΡΡŒ происходит нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… событий:

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ балансировщик смоТСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ всё Π±ΠΎΠ»Π΅Π΅ слоТныС Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ доступныС Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ балансировщику. НапримСр:

Π§Ρ‚ΠΎΠ±Ρ‹ глобальная балансировка стала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, балансировщик, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² качСствС уровня ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ слоТными возмоТностями динамичСского конфигурирования. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎΠ± этом Π² ΠΌΠΎΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ…: 1 ΠΈ 2.

Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π΄ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Пока Ρ‡Ρ‚ΠΎ я лишь мСльком сравнивал Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π² основном Π² контСкстС высокодоступной ΠΏΠ°Ρ€Ρ‹ L4-балансировщиков. ΠšΠ°ΠΊΠΎΠ²Ρ‹ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ Π² этой сфСрС?

Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Π½ΠΎΠ²Ρ‹ΠΉ OSI-стСк ΠΈΠ· восьми ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. Π”ΡƒΠΌΠ°ΡŽ, это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅:
Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ балансировщик Π² it
β€” @infosecdad

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это ΡŽΠΌΠΎΡ€ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ Π² этом сообщСнии ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ собраны соврСмСнныС Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΈ:

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ балансировки

Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΆΠΈΠ²Ρ‘ΠΌ Π² ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ для сСтСвой индустрии врСмя! ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ OSS ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Π½Π° порядки ускоряСт Ρ†ΠΈΠΊΠ»Ρ‹ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста динамичности распрСдСлённых систСм благодаря «бСссСрвСрным» ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°ΠΌ Π² Ρ€Π°Π²Π½ΠΎΠΉ стСпСни Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒΡΡ ΠΈ Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π² ΠΈΡ… основС сСти ΠΈ балансировочныС систСмы.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *