One-cloud β€” ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Алоха, ΠΏΠΈΠΏΠ»! МСня Π·ΠΎΠ²ΡƒΡ‚ ОлСг ΠΠ½Π°ΡΡ‚Π°ΡΡŒΠ΅Π², я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ… Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. А ΠΊΡ€ΠΎΠΌΠ΅ мСня, Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΡƒΡ‡Π° ΠΆΠ΅Π»Π΅Π·Π°. Π£ нас Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π¦ΠžΠ”Π°, Π² Π½ΠΈΡ… ΠΎΠΊΠΎΠ»ΠΎ 500 стоСк Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ с 8 тысячами сСрвСров. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ систСмы управлСния ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ эффСктивно Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ, ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступами, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΠΏΠ΅Ρ€Π΅)распрСдСлСниС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов, ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ запуск Π½ΠΎΠ²Ρ‹Ρ… сСрвисов, ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Π΅ Π°Π²Π°Ρ€ΠΈΠΈ.

Π§Ρ‚ΠΎ ΠΆΠ΅ ΠΈΠ· этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ?

ΠšΡ€ΠΎΠΌΠ΅ мСня ΠΈ ΠΊΡƒΡ‡ΠΈ ΠΆΠ΅Π»Π΅Π·Π° Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ люди, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ с этим ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚: ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся нСпосрСдствСнно Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ…; сСтСвики, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ сСтСвоС обСспСчСниС; Π°Π΄ΠΌΠΈΠ½Ρ‹, ΠΈΠ»ΠΈ SRE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ инфраструктуры; ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², каТдая ΠΈΠ· Π½ΠΈΡ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΡ€Ρ‚Π°Π»Π°. Π‘ΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΈΠΌΠΈ софт Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‚Π°ΠΊ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Запросы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΊΠ°ΠΊ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹ основного ΠΏΠΎΡ€Ρ‚Π°Π»Π° www.ok.ru, Ρ‚Π°ΠΊ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹ API ΠΌΡƒΠ·Ρ‹ΠΊΠΈ. Они для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запроса Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ спСциализированныС микросСрвисы β€” one-graph (Π³Ρ€Π°Ρ„ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… связСй), user-cache (кСш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ) ΠΈ Ρ‚. ΠΏ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих сСрвисов Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ Π½Π° мноТСствС машин, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ отвСтствСнныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈΡ… ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ тСхнологичСскоС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅. ВсС эти сСрвисы Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π½Π° ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Ρ… сСрвСрах, ΠΈ Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΡ‹ запускали Ρ€ΠΎΠ²Π½ΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ сСрвСр, Ρ‚. Π΅. ΠΎΠ½ Π±Ρ‹Π» спСциализирован ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ? Π£ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π±Ρ‹Π»ΠΎ нСсколько плюсов:

  • ΠžΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ΡΡ массовоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Допустим, Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ настроСк. И Ρ‚ΠΎΠ³Π΄Π° сСрвСр приписываСтся Ρ€ΠΎΠ²Π½ΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅, описываСтся ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° cfengine для этой Π³Ρ€ΡƒΠΏΠΏΡ‹ (ΠΈΠ»ΠΈ ΠΎΠ½Π° ΡƒΠΆΠ΅ описана), ΠΈ эта конфигурация Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ ΠΈ автоматичСски раскатываСтся Π½Π° всС сСрвСры этой Π³Ρ€ΡƒΠΏΠΏΡ‹.
  • УпрощаСтся диагностика. Допустим, Π²Ρ‹ смотритС Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ эту Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΌΠΎΠ³Π»Π° ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π°, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° этом ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠΌ процСссорС. Поиски Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ быстро.
  • УпрощаСтся ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Если с сСрвСром Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΎΠ± этом сообщаСт, ΠΈ Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΡ‚ΠΎ Π²ΠΈΠ½ΠΎΠ²Π°Ρ‚.

БСрвису, состоящСму ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ, выдСляСтся нСсколько сСрвСров β€” ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ. Π’ΠΎΠ³Π΄Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСсурс для сСрвиса выдСляСтся ΠΎΡ‡Π΅Π½ΡŒ просто: сколько Ρƒ сСрвиса Π΅ΡΡ‚ΡŒ сСрвСров, ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ рСсурсов максимально ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚ΡŒ. Β«ΠŸΡ€ΠΎΡΡ‚ΠΎΒ» Ρ‚ΡƒΡ‚ Π½Π΅ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ это Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ распрСдСлСниС рСсурсов происходит Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Π°ΠΊΠΆΠ΅ позволял Π½Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ спСциализированныС ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽΡΡ Π½Π° этом сСрвСрС. Если Π·Π°Π΄Π°Ρ‡Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ большиС ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 4U-сСрвСр с шасси Π½Π° 38 дисков. Если Π·Π°Π΄Π°Ρ‡Π° чисто Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡˆΡ‘Π²Ρ‹ΠΉ 1U-сСрвСр. Π­Ρ‚ΠΎ эффСктивно с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. Π’ Ρ‚ΠΎΠΌ числС Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π° мСньшС машин ΠΏΡ€ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, сопоставимой с ΠΎΠ΄Π½ΠΎΠΉ друТСствСнной Π½Π°ΠΌ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΡΠ΅Ρ‚ΡŒΡŽ.

Вакая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ, Ссли ΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· посылки, Ρ‡Ρ‚ΠΎ самоС Π΄ΠΎΡ€ΠΎΠ³ΠΎΠ΅ β€” это сСрвСры. Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя Π΄ΠΎΡ€ΠΎΠΆΠ΅ всСго стоило ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΆΠ΅Π»Π΅Π·ΠΎ, ΠΈ ΠΌΡ‹ Π²Π»ΠΎΠΆΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ сил Π² ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΆΠ΅Π»Π΅Π·Π°, придумывая Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ обСспСчСния отказоустойчивости для сниТСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ надёТности оборудования. И сСгодня ΠΌΡ‹ дошли Π΄ΠΎ стадии, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ†Π΅Π½Π° сСрвСра ΡƒΠΆΠ΅ пСрСстала Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ. Если Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ²Π΅ΠΆΠ°ΠΉΡˆΡƒΡŽ экзотику, Ρ‚ΠΎ конкрСтная конфигурация сСрвСров Π² стойкС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния. БСйчас Ρƒ нас Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Ρ†Π΅Π½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ сСрвСром мСста Π² Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π΅, Ρ‚. Π΅. мСста Π² стойкС.

Осознав, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊ, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, насколько эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ стойки.
Взяли Ρ†Π΅Π½Ρƒ самого ΠΌΠΎΡ‰Π½ΠΎΠ³ΠΎ сСрвСра ΠΈΠ· экономичСски ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½Ρ‹Ρ…, подсчитали, сколько Ρ‚Π°ΠΊΠΈΡ… сСрвСров ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² стойки, сколько Π·Π°Π΄Π°Ρ‡ ΠΌΡ‹ Π±Ρ‹ Π½Π° Π½ΠΈΡ… запустили исходя ΠΈΠ· старой ΠΌΠΎΠ΄Π΅Π»ΠΈ Β«ΠΎΠ΄ΠΈΠ½ сСрвСр = ΠΎΠ΄Π½Π° Π·Π°Π΄Π°Ρ‡Π°Β» ΠΈ насколько Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ смогли Π±Ρ‹ ΡƒΡ‚ΠΈΠ»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠΎΡΡ‡ΠΈΡ‚Π°Π»ΠΈ β€” ΠΏΡ€ΠΎΡΠ»Π΅Π·ΠΈΠ»ΠΈΡΡŒ. Оказалось, Ρ‡Ρ‚ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования стоСк Ρƒ нас β€” ΠΎΠΊΠΎΠ»ΠΎ 11 %. Π’Ρ‹Π²ΠΎΠ΄ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ: Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ использования Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ². Казалось Π±Ρ‹, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ: Π½Π°Π΄ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сразу нСсколько Π·Π°Π΄Π°Ρ‡. Но Ρ‚ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ слоТности.

Массовая конфигурация Ρ€Π΅Π·ΠΊΠΎ услоТняСтся β€” Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ сСрвСру ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΎΠ΄Π½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡƒ. Π’Π΅Π΄ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ нСсколько Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, конфигурация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰Π΅ΠΉ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Диагностика Ρ‚ΠΎΠΆΠ΅ услоТняСтся: Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ процСссоров ΠΈΠ»ΠΈ дисков Π½Π° сСрвСрС, Ρ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, какая ΠΈΠ· Π·Π°Π΄Π°Ρ‡ доставляСт нСприятности.

Но Π³Π»Π°Π²Π½ΠΎΠ΅ β€” это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС, Π½Π΅Ρ‚ изоляции. Π’ΠΎΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Ρ€Π°Ρ„ΠΈΠΊ срСднСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСрной Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎ ΠΈ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ сСрвСрС запустили Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΎ, Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ связанноС с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ расчётноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” врСмя получСния ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Ρƒ основной Π·Π°Π΄Π°Ρ‡ΠΈ сильно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΎΡΡŒ.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ…, Π»ΠΈΠ±ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ практичСски всС Π·Π°Π΄Π°Ρ‡ΠΈ Ρƒ нас Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ОБ (Linux) ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ΄ Π½Π΅Ρ‘, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π°ΠΌ Π½Π΅ трСбуСтся. БоотвСтствСнно, виртуализация Π½Π΅ Π½ΡƒΠΆΠ½Π°, ΠΈΠ·-Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ эффСктивна, Ρ‡Π΅ΠΌ контСйнСризация.

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

Плюс, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ рССстр ΠΈ Ρ‚Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π² Docker Π΄Π°ΡŽΡ‚ Π½Π°ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ для вСрсионирования ΠΈ доставки ΠΊΠΎΠ΄Π° Π² production.

Docker, ΠΊΠ°ΠΊ ΠΈ любая другая подобная тСхнология, прСдоставляСт Π½Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ изоляции ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. НапримСр, изоляция ΠΏΠΎ памяти β€” ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ выдаётся Π»ΠΈΠΌΠΈΡ‚ Π½Π° использованиС памяти ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΏΠΎ использованию CPU. Для нас, ΠΏΡ€Π°Π²Π΄Π°, стандартной изоляции Π±Ρ‹Π»ΠΎ нСдостаточно. Но ΠΎΠ± этом β€” Π½ΠΈΠΆΠ΅.

НСпосрСдствСнный запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° сСрвСрах β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Другая Ρ‡Π°ΡΡ‚ΡŒ связана с Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π° сСрвСрах. НуТно ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ сСрвСр ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ Π½Π΅ такая простая Π·Π°Π΄Π°Ρ‡Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π½Π°Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° сСрвСрах ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ»ΠΎΡ‚Π½Π΅Π΅, ΠΏΡ€ΠΈ этом Π½Π΅ снизив ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ слоТным ΠΈ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния отказоустойчивости. Часто ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ сСрвиса Π² Ρ€Π°Π·Π½Ρ‹Ρ… стойках ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π»Π°Ρ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ°Π·Π΅ стойки ΠΈΠ»ΠΈ Π·Π°Π»Π° ΠΌΡ‹ Π½Π΅ тСряли сразу всС Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ сСрвиса.

Π Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ β€” Π½Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρƒ тСбя 8 тысяч сСрвСров ΠΈ 8β€”16 тысяч ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π΄Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ большС ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² распрСдСлСнии рСсурсов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ сами Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свои сСрвисы Π½Π° production, Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ администратора. ΠŸΡ€ΠΈ этом ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ второстСпСнный сСрвис Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ» всС рСсурсы Π½Π°ΡˆΠΈΡ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ².

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ΅Π½ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ слой, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимался Π±Ρ‹ этим автоматичСски.

Π’ΠΎΡ‚ ΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ простой ΠΈ понятной ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±ΠΎΠΆΠ°ΡŽΡ‚ всС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹: Ρ‚Ρ€ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΠΊΠ°.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

one-cloud masters β€” отказоустойчивый кластСр, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ±Π»Π°ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ отправляСт Π² мастСр манифСст, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится вся нСобходимая для размСщСния сСрвиса информация. ΠœΠ°ΡΡ‚Π΅Ρ€ Π½Π° Π΅Ρ‘ основании Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ миньонам (машинам, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²). На ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ… Π΅ΡΡ‚ΡŒ наш Π°Π³Π΅Π½Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ ΡƒΠΆΠ΅ свои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Docker, Π° Docker ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ linux kernel для запуска ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠšΡ€ΠΎΠΌΠ΅ исполнСния ΠΊΠΎΠΌΠ°Π½Π΄, Π°Π³Π΅Π½Ρ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ сообщаСт мастСру ΠΎΠ± измСнСниях состояния ΠΊΠ°ΠΊ ΠΌΠ°ΡˆΠΈΠ½Ρ‹-миньона, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

РаспрСдСлСниС рСсурсов

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ разбСрёмся с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π±ΠΎΠ»Π΅Π΅ слоТного распрСдСлСния рСсурсов для мноТСства миньонов.

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСсурс Π² one-cloud β€” это:

  • Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ процСссора, потрСбляСмая ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ.
  • ΠžΠ±ΡŠΡ‘ΠΌ памяти, доступный Π·Π°Π΄Π°Ρ‡Π΅.
  • Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· миньонов ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ сСтСвой интСрфСйс с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ пропускной ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ, поэтому нСльзя Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌΠΈ ΠΏΠΎ сСти ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ….
  • Диски. ΠšΡ€ΠΎΠΌΠ΅, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, мСста ΠΏΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ выдСляСм Ρ‚ΠΈΠΏ диска: HDD ΠΈΠ»ΠΈ SSD. Диски ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ количСство запросов Π² сСкунду β€” IOPS. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Π·Π°Π΄Π°Ρ‡, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… большС IOPS, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ диск, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ выдСляСм «шпиндСли» β€” Ρ‚. Π΅. дисковыС устройства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Ρ‡Ρƒ.

Π’ΠΎΠ³Π΄Π° для ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ сСрвиса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для user-cache, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ потрСбляСмыС рСсурсы Ρ‚Π°ΠΊΠΈΠΌ способом: 400 процСссорных ядСр, 2,5 TΠ± памяти, 50 Π“Π±ΠΈΡ‚/с Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΎΠ±Π΅ стороны, 6 Π’Π± мСста Π½Π° HDD, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° 100 ΡˆΠΏΠΈΠ½Π΄Π΅Π»ΡΡ…. Или Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ Π½Π°ΠΌ Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Π°ΠΊ:

alloc:
    cpu: 400
    mem: 2500
    lan_in: 50g
    lan_out: 50g
    hdd:100x6T

РСсурсы сСрвиса user-cache ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ лишь Ρ‡Π°ΡΡ‚ΡŒ всСх доступных рСсурсов Π² production-инфраструктурС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ хочСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ, ΠΈΠ·-Π·Π° ошибки ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚, user-cache Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ» большС рСсурсов, Ρ‡Π΅ΠΌ Π΅ΠΌΡƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π»ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы. Но ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠ²ΠΎΡ‚Ρƒ?

Π”Π°Π²Π°ΠΉΡ‚Π΅ вСрнёмся ΠΊ нашСй сильно ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠΉ схСмС взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ пСрСрисуСм с бо́льшим количСством Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ β€” Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π§Ρ‚ΠΎ бросаСтся Π² Π³Π»Π°Π·Π°:

  • Π’Π΅Π±-Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ ΠΈ ΠΌΡƒΠ·Ρ‹ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ кластСры ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
  • МоТно Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ логичСскиС слои, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ относятся эти кластСры: Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹, кСши, слой хранСния ΠΈ управлСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
  • Π€Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ Π½Π΅ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π΅Π½, это Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ подсистСмы.
  • КСши Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΊΠΈΠ΄Π°Ρ‚ΡŒ ΠΏΠΎ подсистСмС, Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ ΠΊΠ΅ΡˆΠΈΡ€ΡƒΡŽΡ‚.

Π•Ρ‰Ρ‘ Ρ€Π°Π· пСрСрисуСм ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π‘Π°! Π”Π° ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ! А Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ рСсурсы Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ кусками: Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ отвСтствСнного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° ΡƒΠ·Π΅Π» этой ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ подсистСмС (ΠΊΠ°ΠΊ Β«musicΒ» Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅), ΠΈ ΠΊ этому ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠ²ΠΎΡ‚Ρƒ. Вакая иСрархия Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π°ΠΌ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ сСрвисы для удобства управлСния. НапримСр, всС web, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΎΡ‡Π΅Π½ΡŒ большая Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° сСрвСров, ΠΌΡ‹ подраздСляСм Π½Π° нСсколько Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ ΠΊΠ°ΠΊ group1, group2.

Π£Π±Ρ€Π°Π² лишниС Π»ΠΈΠ½ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π» нашСй ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π² Π±ΠΎΠ»Π΅Π΅ плоском Π²ΠΈΠ΄Π΅: group1.web.front, api.music.front, user-cache.cache.

Π’Π°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΠΎΠ½ΡΡ‚ΠΈΡŽ «иСрархичСская ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΒ». Π£ Π½Π΅Ρ‘ Π΅ΡΡ‚ΡŒ имя, ΠΊΠ°ΠΊ Β«group1.web.frontΒ». На Π½Π΅Ρ‘ назначаСтся ΠΊΠ²ΠΎΡ‚Π° Π½Π° рСсурсы ΠΈ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π§Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΈΠ· DevOps ΠΌΡ‹ Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€Π°Π²Π° Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сСрвиса Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΈ Ρ‚Π°ΠΊΠΎΠΉ сотрудник ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ ΠΈΠ· OpsDev β€” админскиС ΠΏΡ€Π°Π²Π°, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒΡŽ, Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° людСй, Π΄Π°Π²Π°Ρ‚ΡŒ этим людям ΠΏΡ€Π°Π²Π° ΠΈ Ρ‚. Π΄. БСрвисы, запускаСмыС Π² этой ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠ²ΠΎΡ‚Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Если Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ²ΠΎΡ‚Ρ‹ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ нСдостаточно для Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ выполнСния всСх сСрвисов, Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, формируя Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ собствСнно ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Рассмотрим сСрвисы ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π£ сСрвиса Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ всСгда Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя имя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π’ΠΎΠ³Π΄Π° сСрвис web Ρ„Ρ€ΠΎΠ½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ имя ok-web.group1.web.front. А сСрвис сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ обращаСтся, станСт ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ ok-app.group1.web.front. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСрвиса Π΅ΡΡ‚ΡŒ манифСст, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ указываСтся вся нСобходимая информация для размСщСния Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…: сколько рСсурсов потрСбляСт эта Π·Π°Π΄Π°Ρ‡Π°, какая для Π½Π΅Ρ‘ Π½ΡƒΠΆΠ½Π° конфигурация, сколько Ρ€Π΅ΠΏΠ»ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ, свойства для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² этого сСрвиса. И послС размСщСния сСрвиса нСпосрСдствСнно Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ экзСмпляры. Они Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π½ΡƒΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ β€” ΠΊΠ°ΠΊ Π½ΠΎΠΌΠ΅Ρ€ экзСмпляра ΠΈ имя сСрвиса: 1.ok-web.group1.web.front, 2.ok-web.group1.web.front, …

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ: глядя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° имя Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΌΡ‹ сразу ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±Π»ΠΈΠΆΠ΅ познакомимся с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ эти экзСмпляры, собствСнно, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚: с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

ΠšΠ»Π°ΡΡΡ‹ изоляции Π·Π°Π΄Π°Ρ‡

ВсС Π·Π°Π΄Π°Ρ‡ΠΈ Π² ОК (Π΄Π° ΠΈ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π²Π΅Π·Π΄Π΅) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹:

  • Π—Π°Π΄Π°Ρ‡ΠΈ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ β€” prod. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΈ сСрвисов ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚Π° (latency), ΠΊΠ°ΠΊ быстро ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· запросов Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ систСмой. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡: web Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹, кСши, сСрвСры ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, OLTP Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈ Ρ‚. ΠΏ.
  • Π—Π°Π΄Π°Ρ‡ΠΈ расчСтныС β€” batch. Π—Π΄Π΅ΡΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ запроса Π½Π΅Π²Π°ΠΆΠ½Π°. Для Π½ΠΈΡ… Π²Π°ΠΆΠ½ΠΎ, сколько всСго вычислСний Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ (большой) ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ эта Π·Π°Π΄Π°Ρ‡Π° сдСлаСт (throughput). Π’Π°ΠΊΠΈΠΌΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π»ΡŽΠ±Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ MapReduce, Hadoop, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, статистика.
  • Π—Π°Π΄Π°Ρ‡ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ β€” idle. Для Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ Π½ΠΈ latency, Π½ΠΈ throughput. Бюда входят Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ тСсты, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, пСрСсчёты, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΎΠ½ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° расчётныС, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Π½Π°ΠΌ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ быстро ΠΎΠ½ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡΡ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ рСсурсы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора.

Π—Π°Π΄Π°Ρ‡ΠΈ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Π£ Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ потрСблСния ЦП Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° этот:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

На ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ поступаСт запрос ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°Π΄Π°Ρ‡Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС доступныС ядра ЦП, ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚, ΠΆΠ΄Ρ‘Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ запроса ΠΈ стоит. ΠŸΠΎΡΡ‚ΡƒΠΏΠΈΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ запрос β€” ΠΎΠΏΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ всё, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ, обсчитали, ΠΆΠ΄Ρ‘ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ для Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π·ΡΡ‚ΡŒ максимум потрСбляСмых Сю рСсурсов ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство ядСр Π½Π° миньонС (машинС, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ). Π’ΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ€Π΅Π·Π΅Ρ€Π²Π°Ρ†ΠΈΠΈ для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ окаТСтся Ρ‚Π°ΠΊΠΎΠΉ:

alloc: cpu = 4 (max)

ΠΈ Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ машина-миньон с 16 ядрами, Ρ‚ΠΎ Π½Π° Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ€ΠΎΠ²Π½ΠΎ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ΠΈ. Особо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ срСднСС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ процСссора Ρƒ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ часто ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠ΅ β€” Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡Π° находится Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ запроса ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚.

РасчётныС Π·Π°Π΄Π°Ρ‡ΠΈ. Π£ Π½ΠΈΡ… ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΠΌ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π‘Ρ€Π΅Π΄Π½Π΅Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ рСсурсов процСссора Ρƒ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ достаточно высокоС. Часто ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ расчётная Π·Π°Π΄Π°Ρ‡Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя, поэтому Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ минимальноС количСство процСссоров, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вСсь расчёт закончился Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя. Π•Ρ‘ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° рСзСрвирования Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

alloc: cpu = [1,*)

«РазмСсти, поТалуйста, Π½Π° миньонС, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ свободноС ядро, Π° дальшС сколько Π΅ΡΡ‚ΡŒ β€” всё соТрСт».

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

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Но ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

Для Π½Π°Ρ‡Π°Π»Π° разбСрСмся с prod ΠΈ Π΅Π³ΠΎ alloc: cpu = 4. Нам Π½ΡƒΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ядра. Π’ Docker run это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ двумя способами:

  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ --cpuset=1-4, Ρ‚. Π΅. Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ядра Π½Π° машинС.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ --cpuquota=400_000 --cpuperiod=100_000, Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ²ΠΎΡ‚Ρƒ Π½Π° процСссорноС врСмя, Ρ‚. Π΅. ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 100 мс Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π°Ρ‡Π° потрСбляСт Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 400 мс процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ самыС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ядра.

Но ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· этих способов ΠΏΠΎΠ΄ΠΎΠΉΠ΄Ρ‘Ρ‚?

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ выглядит cpuset. Π£ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ядра, Π·Π½Π°Ρ‡ΠΈΡ‚, процСссорныС кСши Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ максимально эффСктивно. Π£ этого Π΅ΡΡ‚ΡŒ ΠΈ оборотная сторона: Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π²Π·ΡΡ‚ΡŒ Π½Π° сСбя Π·Π°Π΄Π°Ρ‡Ρƒ распрСдСлСниСм вычислСний ΠΏΠΎ Π½Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌ ядрам ΠΌΠ°ΡˆΠΈΠ½Ρ‹ вмСсто ОБ, Π° это довольно Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°, особСнно Ссли ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΎΠΉ машинС batch-Π·Π°Π΄Π°Ρ‡ΠΈ. ВСсты ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ здСсь Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с ΠΊΠ²ΠΎΡ‚ΠΎΠΉ: Ρ‚Π°ΠΊ Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы большС свободы Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ядра для выполнСния Π·Π°Π΄Π°Ρ‡ΠΈ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ процСссорноС врСмя распрСдСляСтся Π±ΠΎΠ»Π΅Π΅ эффСктивно.

РазбСрёмся, ΠΊΠ°ΠΊ Π² docker ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ количСству ядСр. ΠšΠ²ΠΎΡ‚Π° для batch-Π·Π°Π΄Π°Ρ‡ ΡƒΠΆΠ΅ Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ максимум Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, достаточно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ. И Ρ‚ΡƒΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ опция docker run --cpushares.

ΠœΡ‹ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈΡΡŒ, Ρ‡Ρ‚ΠΎ Ссли batch Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡŽ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° ΠΎΠ΄Π½ΠΎ ядро, Ρ‚ΠΎ ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ --cpushares=1024, Π° Ссли ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° Π΄Π²Π° ядра, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ --cpushares=2048. Cpu shares Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² распрСдСлСниС процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π΅Π³ΠΎ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли prod Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ всС свои Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ядра β€” Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ batch-Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ процСссорноС врСмя. А Π²ΠΎΡ‚ Π² ситуации Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ процСссора, Ссли prod ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠ» всС свои Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΊΠΎΡ€Ρ‹ ΠΈ упёрся Π² ΠΊΠ²ΠΎΡ‚Ρƒ β€” ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ процСссорноС врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ cpushares, Ρ‚. Π΅. Π² ситуации Ρ‚Ρ€Ρ‘Ρ… свободных ядСр ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π·Π°Π΄Π°Ρ‡Π° с 1024 cpushares, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π²Π° β€” Π·Π°Π΄Π°Ρ‡Π° с 2048 cpushares.

Но использования quota ΠΈ shares нСдостаточно. Нам Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‡Π° с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ batch-Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΡ€ΠΈ распрСдСлСнии процСссорного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘Π΅Π· Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ batch-Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ всё процСссорноС врСмя Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ prod. Π’ Docker run Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠΏΡ†ΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Π½ΠΎ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ приходят ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора Π² Linux. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Π½ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚, Π° Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΡ‹ ΠΏΠΎ Π½ΠΈΠΌ пройдёмся ΠΊΡ€Π°Ρ‚ΠΊΠΎ:

  • SCHED_OTHER
    По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ всС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ процСссы Π½Π° Linux-машинС.
  • SCHED_BATCH
    ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для рСсурсоёмких процСссов. ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π² процСссорС вводится Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΡˆΡ‚Ρ€Π°Ρ„ Π·Π° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΡŽ: такая Π·Π°Π΄Π°Ρ‡Π° с мСньшСй Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ рСсурсы процСссора, Ссли Π΅Π³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° с SCHED_OTHER
  • SCHED_IDLE
    Π€ΠΎΠ½ΠΎΠ²Ρ‹ΠΉ процСсс с ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ nice –19. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΡˆΡƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ one-nio, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ

one.nio.os.Proc.sched_setscheduler( pid, Proc.SCHED_IDLE )

Но Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π° Java, Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chrt:

chrt -i 0 $pid

Π‘Π²Π΅Π΄Ρ‘ΠΌ всС наши ΡƒΡ€ΠΎΠ²Π½ΠΈ изоляции Π² ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ‡ΠΊΡƒ для наглядности:

Класс изоляции
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ alloc
ΠžΠΏΡ†ΠΈΠΈ Docker run
sched_setscheduler chrt*

Prod
cpu = 4
--cpuquota=400000 --cpuperiod=100000
SCHED_OTHER

Batch
Cpu = [1, * )
--cpushares=1024
SCHED_BATCH

Idle
Cpu= [2, *)
--cpushares=2048
SCHED_IDLE

*Если Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ chrt ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ capability sys_nice, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Docker этот capability ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Но Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссор, Π½ΠΎ ΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ влияСт Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ сСтСвой Π·Π°Π΄Π°Ρ‡ΠΈ Π΅Ρ‰Ρ‘ большС, Ρ‡Π΅ΠΌ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ распрСдСлСниС рСсурсов процСссора. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹, СстСствСнно, Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΈ для Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° prod-Π·Π°Π΄Π°Ρ‡Π° отсылаСт ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² ΡΠ΅Ρ‚ΡŒ, ΠΌΡ‹ ΠΊΠ²ΠΎΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° alloc: lan=[*,500mbps) ), с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ prod ΠΌΠΎΠΆΠ΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ. А для batch ΠΌΡ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ (Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° alloc: lan=[10Mbps,*) ) ΠŸΡ€ΠΈ этом Ρ‚Ρ€Π°Ρ„ΠΈΠΊ prod Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ batch-Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.
Π—Π΄Π΅ΡΡŒ Docker Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Но Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Linux Traffic Control. ΠœΡ‹ смогли Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ дисциплины Hierarchical Fair Service Curve. Π‘ Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ выдСляСм Π΄Π²Π° класса Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°: высокоприоритСтный prod ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ batch/idle. Π’ ΠΈΡ‚ΠΎΠ³Π΅ конфигурация для исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° получаСтся Π²ΠΎΡ‚ такая:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

здСсь 1:0 β€” «ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ qdisc» дисциплины hsfc; 1:1 β€” Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс hsfc с ΠΎΠ±Ρ‰ΠΈΠΌ Π»ΠΈΠΌΠΈΡ‚ΠΎΠΌ пропускной способности Π² 8 Gbit/s, ΠΏΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ классы всСх ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²; 1:2 β€” Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс hsfc ΠΎΠ±Ρ‰ΠΈΠΉ для всСх batch ΠΈ idle Π·Π°Π΄Π°Ρ‡ с «Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠΌ» Π»ΠΈΠΌΠΈΡ‚ΠΎΠΌ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΈΠΆΠ΅. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ классы hsfc β€” это Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ классы для Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ prod-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с Π»ΠΈΠΌΠΈΡ‚Π°ΠΌΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈΡ… манифСстам, β€” 450 ΠΈ 400 Mbit/s. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ классу hsfc Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° qdisc ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ fq ΠΈΠ»ΠΈ fq_codel, Π² зависимости ΠΎΡ‚ вСрсии ядра linux, для избСТания ΠΏΠΎΡ‚Π΅Ρ€ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ всплСсках Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ дисциплины tc слуТат для ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Но ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ входящий Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‚ΠΎΠΆΠ΅ β€” вСдь какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ batch-Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ запросто Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ вСсь входящий ΠΊΠ°Π½Π°Π», получая, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, большой ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для map&reduce. Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ifb, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс ifbX для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сСтСвого интСрфСйса ΠΈ пСрСнаправляСт входящий Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с интСрфСйса Π² исходящий Π½Π° ifbX. Π”Π°Π»Π΅Π΅ для ifbX Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ всС Ρ‚Π΅ ΠΆΠ΅ дисциплины для контроля исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ конфигурация hsfc Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π’ Ρ…ΠΎΠ΄Π΅ экспСримСнтов ΠΌΡ‹ выяснили, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ hsfc ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° класс 1:2 Π½Π΅ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠ³ΠΎ batch/idle Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ограничиваСтся Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…-ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ… Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ свободной полосы. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ слишком сильно влияСт Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ prod-Π·Π°Π΄Π°Ρ‡. Π’Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ свободной полосы miniond опрСдСляСт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ сСкунду, измСряя срСднСС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° всСми prod-Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ миньона One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ… ΠΈ вычитая Π΅Ρ‘ ΠΈΠ· пропускной способности сСтСвого интСрфСйса One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ… c нСбольшим запасом, Ρ‚. Π΅.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

ΠŸΠΎΠ»ΠΎΡΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ для входящСго ΠΈ исходящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° нСзависимо. И Π² соотвСтствии с Π½ΠΎΠ²Ρ‹ΠΌΠΈ значСниями miniond ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈΠΌΠΈΡ‚ Π½Π΅ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса 1:2.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ всС Ρ‚Ρ€ΠΈ класса изоляции: prod, batch ΠΈ idle. Π­Ρ‚ΠΈ классы сильно Π²Π»ΠΈΡΡŽΡ‚ Π½Π° характСристики исполнСния Π·Π°Π΄Π°Ρ‡. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ этот ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π½Π°Π²Π΅Ρ€Ρ… ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ взглядС Π½Π° имя иСрархичСской ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ сразу Π±Ρ‹Π»ΠΎ понятно, с Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

ВсС наши Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ web ΠΈ music Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΏΠΎΠ΄ prod. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΠΎΠ΄ batch Π΄Π°Π²Π°ΠΉΡ‚Π΅ помСстим сСрвис music catalog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСриодичСски составляСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ‚Ρ€Π΅ΠΊΠΎΠ² ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π² «Одноклассники» mp3-Ρ„Π°ΠΉΠ»ΠΎΠ². А ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ сСрвиса ΠΏΠΎΠ΄ idle ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ music transformer, Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ громкости ΠΌΡƒΠ·Ρ‹ΠΊΠΈ.

Π‘Π½ΠΎΠ²Π° ΡƒΠ±Ρ€Π°Π² лишниС Π»ΠΈΠ½ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π½Π°ΡˆΠΈΡ… сСрвисов Π±ΠΎΠ»Π΅Π΅ плоско, дописав класс изоляции Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ сСрвиса: web.front.prod, catalog.music.batch, transformer.music.idle.

И Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, глядя Π½Π° имя сСрвиса, ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΎΠ½ выполняСт, Π½ΠΎ ΠΈ Π΅Π³ΠΎ класс изоляции, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΅Π³ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. ΠΏ.

Всё Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° Π³ΠΎΡ€ΡŒΠΊΠ°Ρ ΠΏΡ€Π°Π²Π΄Π°. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π§Π΅Π³ΠΎ Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ: Ссли batch интСнсивно потрСбляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ рСсурсы процСссора, Ρ‚ΠΎ встроСнный ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ЦП Linux ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ справляСтся со своСй Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, ΠΈ влияния Π½Π° prod-Π·Π°Π΄Π°Ρ‡Ρƒ практичСски Π½Π΅Ρ‚. Но Ссли эта batch-Π·Π°Π΄Π°Ρ‡Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ влияниС ΡƒΠΆΠ΅ проявляСтся. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρƒ prod-Π·Π°Π΄Π°Ρ‡ΠΈ Β«Π²Ρ‹ΠΌΡ‹Π²Π°ΡŽΡ‚ΡΡΒ» процСссорныС кСши памяти β€” Π² ΠΈΡ‚ΠΎΠ³Π΅ Π² кСшС Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ, ΠΈ процСссор ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ prod-Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅. Вакая batch-Π·Π°Π΄Π°Ρ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π° 10 % ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ нашСго Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ prod-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π˜Π·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π΅Ρ‰Ρ‘ слоТнСС ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ соврСмСнных сСтСвых ΠΊΠ°Ρ€Ρ‚ Π΅ΡΡ‚ΡŒ внутрСнняя ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Если ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΡ‚ batch-Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚ΡƒΠ΄Π° ΠΏΠΎΠΏΠ°Π» ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΠΎ кабСлю, ΠΈ Ρ‚ΡƒΡ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ подСлаСшь.

К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½Π°ΠΌ ΠΏΠΎΠΊΠ° ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ TCP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°: для UDP ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с hsfc Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. И Π΄Π°ΠΆΠ΅ Π² случаС с TCP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, Ссли batch-Π·Π°Π΄Π°Ρ‡Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, это Ρ‚ΠΎΠΆΠ΅ Π΄Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 10 % увСличСния Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ prod-Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠžΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ

Одной ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ one-cloud Π±Ρ‹Π»ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ отказоустойчивости Одноклассников. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π»Π΅Π΅ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ сцСнарии ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² ΠΈ Π°Π²Π°Ρ€ΠΈΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Ρ‘ΠΌ с простого сцСнария β€” с ΠΎΡ‚ΠΊΠ°Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сам ΠΏΠΎ сСбС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколькими способами. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ экспСримСнт, Π±Π°Π³ ΠΈΠ»ΠΈ ошибка Π² манифСстС, ΠΈΠ·-Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ prod-Π·Π°Π΄Π°Ρ‡Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ большС рСсурсов, Ρ‡Π΅ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² манифСстС. Π£ нас Π±Ρ‹Π» случай: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΎΠ΄ΠΈΠ½ слоТный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°Π», сам сСбя ΠΏΠ΅Ρ€Π΅ΠΌΡƒΠ΄Ρ€ΠΈΠ» ΠΈ запутался Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счётС Π·Π°Π΄Π°Ρ‡Π° вСсьма Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π»Π°ΡΡŒ. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ prod-Π·Π°Π΄Π°Ρ‡Π° Π±ΠΎΠ»Π΅Π΅ приоритСтная, Ρ‡Π΅ΠΌ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π½Π° Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ…, ΠΎΠ½Π° Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ всС доступныС рСсурсы процСссора. Π’ этой ситуации спасла изоляция, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΊΠ²ΠΎΡ‚Π° Π½Π° процСссорноС врСмя. Если Π·Π°Π΄Π°Ρ‡Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° ΠΊΠ²ΠΎΡ‚Π°, Π·Π°Π΄Π°Ρ‡Π° Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚ большС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ batch- ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ prod-Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ.

Вторая возмоТная Π½Π΅ΠΏΡ€ΠΈΡΡ‚Π½ΠΎΡΡ‚ΡŒ β€” ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. И здСсь нас ΡΠΏΠ°ΡΠ°ΡŽΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ рСстарта, всС ΠΈΡ… Π·Π½Π°ΡŽΡ‚, Docker сам прСкрасно справляСтся. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС prod-Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ рСстарта always. Иногда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ on_failure для batch-Π·Π°Π΄Π°Ρ‡ ΠΈΠ»ΠΈ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ prod-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

А Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ нСдоступности Ρ†Π΅Π»ΠΎΠ³ΠΎ миньона?

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС. Π‘Π°ΠΌΠΎΠ΅ интСрСсноС здСсь β€” Ρ‡Ρ‚ΠΎ происходит с IP-адрСсом (адрСсами), Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ IP-адрСса, ΠΊΠ°ΠΊ ΠΈ Ρƒ машин-миньонов, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эти ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ. Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ машинС Π΅Π³ΠΎ IP-адрСс мСняСтся, ΠΈ всС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΅Ρ…Π°Π», Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ адрСс, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвиса Service Discovery.

Service Discovery β€” это ΡƒΠ΄ΠΎΠ±Π½ΠΎ. На Ρ€Ρ‹Π½ΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Π½ΠΎΠΉ стСпСни отказоустойчивости для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ рССстра сСрвисов. Часто Π² Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… рСализуСтся Π»ΠΎΠ³ΠΈΠΊΠ° балансировщика Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ KV-сторадТа ΠΈ Ρ‚. ΠΏ.
Однако, Π½Π°ΠΌ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· нСобходимости внСдрСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рССстра, вСдь это ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Π±Ρ‹ Π²Π²ΠΎΠ΄ критичСской систСмы, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всСми сСрвисами Π² production. А Π·Π½Π°Ρ‡ΠΈΡ‚, это ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ° ΠΎΡ‚ΠΊΠ°Π·Π°, ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ отказоустойчивоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΎΡ‡Π΅Π½ΡŒ нСпросто, Π΄ΠΎΠ»Π³ΠΎ ΠΈ Π΄ΠΎΡ€ΠΎΠ³ΠΎ.

И Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ большой нСдостаток: Ρ‡Ρ‚ΠΎΠ±Ρ‹ наша старая инфраструктура Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° с Π½ΠΎΠ²ΠΎΠΉ, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ΄ использованиС ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Service Discovery систСмы. Π Π°Π±ΠΎΡ‚Ρ‹ ΠžΠ§Π•ΠΠ¬ ΠΌΠ½ΠΎΠ³ΠΎ, Π° мСстами Π΄ΠΎ нСвозмоТности, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… устройствах, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра ОБ ΠΈΠ»ΠΈ нСпосрСдствСнно с ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ. РСализация ΠΆΠ΅ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡΡ‚ΠΎΡΠ²ΡˆΠΈΡ…ΡΡ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ side-car ΠΎΠ·Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹ мСстами Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, мСстами β€” услоТнСниС эксплуатации ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ сцСнарии ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ². Π£ΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ ΠΆΠ΅ Π½Π°ΠΌ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, поэтому Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ использованиС Service Discovery ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.

Π’ one-cloud IP слСдуСт Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ, Ρ‚. Π΅. Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра Π·Π°Π΄Π°Ρ‡ΠΈ Π΅ΡΡ‚ΡŒ свой собствСнный IP-адрСс. Π­Ρ‚ΠΎΡ‚ адрСс «статичСский»: ΠΎΠ½ закрСпляСтся Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ экзСмпляром Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сСрвиса Π² ΠΎΠ±Π»Π°ΠΊΠΎ. Если Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ сСрвис ΠΈΠΌΠ΅Π» Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ количСство экзСмпляров β€” Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π·Π° Π½ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ IP-адрСсов, сколько максимально Π±Ρ‹Π»ΠΎ экзСмпляров.

ВпослСдствии эти адрСса Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ: ΠΎΠ½ΠΈ присвоСны Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСй ΠΆΠΈΠ·Π½ΠΈ сСрвиса Π² production. IP-адрСса слСдуСт Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ ΠΏΠΎ сСти. Если ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ пСрСносится Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ миньон, Ρ‚ΠΎ ΠΈ адрСс ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘Ρ‚ Π·Π° Π½ΠΈΠΌ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сопоставлСниС ΠΈΠΌΠ΅Π½ΠΈ сСрвиса со списком Π΅Π³ΠΎ IP-адрСсов мСняСтся ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ. Если Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΈΠΌΠ΅Π½Π° экзСмпляров сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ (1.ok-web.group1.web.front.prod, 2.ok-web.group1.web.front.prod, …), Ρ‚ΠΎ ΠΌΡ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ FQDN, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ΡΡ Π² DNS. Π’Π°ΠΊ ΠΈ Π΅ΡΡ‚ΡŒ, для отобраТСния ΠΈΠΌΡ‘Π½ экзСмпляров сСрвисов Π² ΠΈΡ… IP-адрСсах ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ DNS-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ». ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ этот DNS Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ IP-адрСса всСх ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² β€” ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ…, ΠΈ остановлСнных (допустим, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, Π° Ρƒ нас Ρ‚Π°ΠΌ ΠΏΡΡ‚ΡŒ адрСсов Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ β€” всС ΠΏΡΡ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ). ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС со всСми ΠΏΡΡ‚ΡŒΡŽ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ β€” ΠΈ опрСдСлят Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ опрСдСлСния доступности Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ΅Π½, Π² Π½Ρ‘ΠΌ Π½Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΠΈ DNS, Π½ΠΈ Service Discovery, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π΅Ρ‚ ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡ с обСспСчСниСм Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ отказоустойчивости этих систСм. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² критичСских сСрвисах, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит Ρ€Π°Π±ΠΎΡ‚Π° всСго ΠΏΠΎΡ€Ρ‚Π°Π»Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DNS, Π° просто Π·Π°Π±ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ IP-адрСса.

РСализация Ρ‚Π°ΠΊΠΎΠ³ΠΎ пСрСноса IP Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ β€” ΠΈ ΠΌΡ‹ остановимся Π½Π° Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Допустим, one-cloud мастСр Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΈΠ½ΡŒΠΎΠ½Ρƒ M1 Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ 1.ok-web.group1.web.front.prod с адрСсом 1.1.1.1. На миньонС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ BIRD, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ анонсируСт этот адрСс Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сСрвСры route reflector. Π£ послСдних Π΅ΡΡ‚ΡŒ BGP-сСссия с сСтСвой ΠΆΠ΅Π»Π΅Π·ΠΊΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈ транслируСтся ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ адрСса 1.1.1.1 Π½Π° M1. M1 ΠΆΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΡƒΠΆΠ΅ срСдствами Linux. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΠ² route reflector Ρ‚Ρ€ΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это ΠΎΡ‡Π΅Π½ΡŒ критичная Ρ‡Π°ΡΡ‚ΡŒ инфраструктуры one-cloud β€” Π±Π΅Π· Π½ΠΈΡ… ΡΠ΅Ρ‚ΡŒ Π² one-cloud Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠœΡ‹ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΈΡ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… стойках, ΠΏΠΎ возмоТности располоТСнных Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π°Π»Π°Ρ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π° всСх Ρ‚Ρ€Ρ‘Ρ….

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ связь ΠΌΠ΅ΠΆΠ΄Ρƒ мастСром one-cloud ΠΈ миньоном М1 ΠΏΡ€ΠΎΠΏΠ°Π»Π°. ΠœΠ°ΡΡ‚Π΅Ρ€ one-cloud Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, исходя ΠΈΠ· прСдполоТСния, Ρ‡Ρ‚ΠΎ М1 ΠΎΡ‚ΠΊΠ°Π·Π°Π» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ даст ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΌΠΈΠ½ΡŒΠΎΠ½Ρƒ М2 Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ web.group1.web.front.prod с Ρ‚Π΅ΠΌ ΠΆΠ΅ самым адрСсом 1.1.1.1. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° Π² сСти для 1.1.1.1: Π½Π° М1 ΠΈ Π½Π° М2. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Multi Exit Discriminator, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ указываСтся Π² BGP-анонсС. Π­Ρ‚ΠΎ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ вСс анонсируСмого ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°. Из ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ с мСньшим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ MED. ΠœΠ°ΡΡ‚Π΅Ρ€ one-cloud ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ MED ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ IP-адрСсов ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· адрСс выписываСтся с достаточно большим MED = 1 000 000. Π’ ситуации ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ пСрСноса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° мастСр ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ MED, ΠΈ М2 ΡƒΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π°Π½ΠΎΠ½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ адрСс 1.1.1.1 c MED = 999 999. ЭкзСмпляр ΠΆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° M1, останСтся ΠΏΡ€ΠΈ этом Π±Π΅Π· связи, ΠΈ Π΅Π³ΠΎ дальнСйшая ΡΡƒΠ΄ΡŒΠ±Π° нас ΠΌΠ°Π»ΠΎ интСрСсуСт Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° восстановлСния связи с мастСром, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ остановлСн ΠΊΠ°ΠΊ старый Π΄ΡƒΠ±Π»ΡŒ.

Аварии

ВсС систСмы управлСния Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°ΠΌΠΈ всСгда ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Π·Ρ‹. Π’Ρ‹Π»Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° β€” это Π½ΠΎΡ€ΠΌΠ° практичСски Π²Π΅Π·Π΄Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π°Π²Π°Ρ€ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΊΠ°Π· питания Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π·Π°Π»Π°Ρ… Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°.

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ авария для систСмы управлСния Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠΌ? Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это массированный Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π· мноТСства машин, ΠΈ систСмС управлСния Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Но Ссли авария ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Π°, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ всС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π΅ смогут Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ…, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ рСсурсная Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° ΠΏΠ°Π΄Π°Π΅Ρ‚ Π½ΠΈΠΆΠ΅ 100 % Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Часто Π°Π²Π°Ρ€ΠΈΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΠ°Π·ΠΎΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ слоя. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΠ·-Π·Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· строя Π΅Π³ΠΎ оборудования, Π½ΠΎ Ρ‡Π°Ρ‰Π΅ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π°Π²Π°Ρ€ΠΈΠΈ Π½Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ слой сам ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΎΡ‚ Π²ΠΎΠ·Ρ€ΠΎΡΡˆΠ΅ΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ со всСм этим ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

ΠœΠ°ΡΡΠΎΠ²Ρ‹Π΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π² инфраструктурС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ большоС количСство дСйствий, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ. КаТдая ΠΈΠ· ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для доставки ΠΈ распаковки ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π΄ΠΎ миньонов, запуск ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚. ΠΏ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ снова посмотрим Π½Π° Π·Π½Π°ΠΊΠΎΠΌΡƒΡŽ Π½Π°ΠΌ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ сСрвисов ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Ρ‚Π΅ процСссы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпосрСдствСнно ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запросов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚. Π΅. prod. ΠœΡ‹ это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° размСщСния β€” числа, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Если Ρƒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π²Ρ‹ΡˆΠ΅, Π΅Ρ‘ сСрвисы Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

На prod ΠΌΡ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅, 0; Π½Π° batch β€” Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ½ΠΈΠΆΠ΅, 100; Π½Π° idle β€” Π΅Ρ‰Ρ‘ Π½ΠΈΠΆΠ΅, 200. ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ иСрархичСски. Π£ всСх Π·Π°Π΄Π°Ρ‡ Π½ΠΈΠΆΠ΅ ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Если Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ prod кСши Π·Π°ΠΏΡƒΡΠΊΠ°Π»ΠΈΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°ΠΌΠΈ, Ρ‚ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ Π½Π° cache = 0 ΠΈ Π½Π° front ΠΏΠΎΠ΄ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ = 1. Если ΠΆΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ· Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠ² Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ запускался основной ΠΏΠΎΡ€Ρ‚Π°Π», Π° music Ρ„Ρ€ΠΎΠ½Ρ‚ ΡƒΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΌ, Ρ‚ΠΎ послСднСму ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΆΠ΅ β€” 10.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ° рСсурсов. Π˜Ρ‚Π°ΠΊ, Ρƒ нас ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΎ большоС количСство оборудования, Ρ†Π΅Π»Ρ‹Π΅ Π·Π°Π»Ρ‹ Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π°, Π° ΠΌΡ‹ поназапускали сСрвисов ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° всСх Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ рСсурсов. НуТно Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ основныС ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ сСрвисы.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° размСщСния, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ³ΡƒΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСми batch-Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… Π²Π°ΠΆΠ½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΡ€Ρ‚Π°Π»Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ вытСснСния Π·Π°Π΄Π°Ρ‡ΠΈ. ΠŸΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡Π° с Π±ΠΎΠ»Π΅Π΅ высоким ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Ρ‚Π΅ΡΠ½ΠΈΡ‚ΡŒ, Ρ‚. Π΅. ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, Ссли Π±ΠΎΠ»Π΅Π΅ Π½Π΅Ρ‚ свободных миньонов. ΠŸΡ€ΠΈ этом Π·Π°Π΄Π°Ρ‡Π° с Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ, вСроятно, Ρ‚Π°ΠΊ ΠΈ останСтся Π½Π΅Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½ΠΎΠΉ, Ρ‚. Π΅. для Π½Π΅Ρ‘ большС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ подходящСго миньона с достаточным количСством свободных рСсурсов.

Π’ нашСй ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΡ‡Π΅Π½ΡŒ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ вытСснСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ prod- ΠΈ batch-Π·Π°Π΄Π°Ρ‡ΠΈ вытСсняли ΠΈΠ»ΠΈ останавливали idle-Π·Π°Π΄Π°Ρ‡ΠΈ, Π½ΠΎ Π½Π΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, ΡƒΠΊΠ°Π·Π°Π² для idle ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ€Π°Π²Π½Ρ‹ΠΉ 200. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² случаС с ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ размСщСния, ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΏΡ€Π°Π²ΠΈΠ»Π°. НапримСр, ΡƒΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΡƒΠ·Ρ‹ΠΊΠΈ ΠΌΡ‹ ΠΆΠ΅Ρ€Ρ‚Π²ΡƒΠ΅ΠΌ, Ссли Π½Π°ΠΌ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚ рСсурсов для основного Π²Π΅Π±-ΠΏΠΎΡ€Ρ‚Π°Π»Π°, установив для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠΎΠ½ΠΈΠΆΠ΅: 10.

Аварии Π”Π¦ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ

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

И Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΠΊΡ‚ΠΎ #ΠΎΠΊΠΆΠΈΠ²ΠΈ Π½Π΅ постил Π² Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π°Ρ….

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

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ физичСского ΠΎΡ‚ΠΊΠ°Π·Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈ ΠΎΡ‚ ошибок ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

А Ρ‡Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с чСловСчСским Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ? Когда ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π΄Π°Ρ‘Ρ‚ ΠΎΠ±Π»Π°ΠΊΡƒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΡΡ‚Ρ€Π°Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, насколько Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠ½ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π». НапримСр, Ссли это какая-Ρ‚ΠΎ массовая остановка ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π΅ΠΏΠ»ΠΈΠΊ ΠΈΠ»ΠΈ просто странная ΠΊΠΎΠΌΠ°Π½Π΄Π° β€” ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ количСства Ρ€Π΅ΠΏΠ»ΠΈΠΊ ΠΈΠ»ΠΈ смСна ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±Ρ€Π°Π·Π°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии Π² Π½ΠΎΠ²ΠΎΠΌ манифСстС.

One-cloud — ОБ уровня Π΄Π°Ρ‚Π°-Ρ†Π΅Π½Ρ‚Ρ€Π° Π² ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ особСнности one-cloud:

  • Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΈ наглядная схСма имСнования сСрвисов ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², которая позволяСт ΠΎΡ‡Π΅Π½ΡŒ быстро ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π·Π° Π·Π°Π΄Π°Ρ‡Π°, ΠΊ Ρ‡Π΅ΠΌΡƒ ΠΎΠ½Π° относится ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ ΠΊΡ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π½Π΅Π΅.
  • ΠœΡ‹ примСняСм свою Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ совмСщСния prod- ΠΈ batch-Π·Π°Π΄Π°Ρ‡ Π½Π° ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ совмСстного использования машин. ВмСсто cpuset ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ CPU quotas, shares, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° CPU ΠΈ Linux QoS.
  • ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π½ΠΎ ΠΈΡ… Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ влияниС остаётся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄ΠΎ 20 %.
  • ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ сСрвисов Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΈ автоматичСской Π»ΠΈΠΊΠ²ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π°Π²Π°Ρ€ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² размСщСния ΠΈ вытСснСния.

Π§ΠΠ’Πž

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Π½Π΅ взяли Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

  • Π Π°Π·Π½Ρ‹Π΅ классы изоляции Π·Π°Π΄Π°Ρ‡ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π½Π° ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ…. Если prod-Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ простым Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ рСсурсов, Ρ‚ΠΎ batch ΠΈ idle Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, отслСТивая Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ рСсурсов Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…-ΠΌΠΈΠ½ΡŒΠΎΠ½Π°Ρ….
  • ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΡ‡Ρ‘Ρ‚Π° Ρ‚Π°ΠΊΠΈΡ… потрСбляСмых Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ рСсурсов, ΠΊΠ°ΠΊ:
    • пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ сСти;
    • Ρ‚ΠΈΠΏΡ‹ ΠΈ «шпиндСли» дисков.
  • ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ сСрвисов ΠΏΡ€ΠΈ Π»ΠΈΠΊΠ²ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π°Π²Π°Ρ€ΠΈΠΉ, ΠΏΡ€Π°Π²Π° ΠΈ ΠΊΠ²ΠΎΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° рСсурсы, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ иСрархичСских ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Π² one-cloud.
  • ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ чСловСчСскоС ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΉ Π½Π° Π°Π²Π°Ρ€ΠΈΠΈ ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚Ρ‹
  • ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ повсСмСстного внСдрСния Service Discovery; Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π½Π° ΠΆΠ΅Π»Π΅Π·Π½Ρ‹Ρ… хостах, β€” Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ «статичСскими» IP-адрСсами, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ, ΠΈ, ΠΊΠ°ΠΊ слСдствиС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с большой сСтСвой инфраструктурой.

ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈ Π±Ρ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΎΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ сСбя, ΠΈ, ΠΎΡ†Π΅Π½ΠΈΠ² количСство Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ смоТСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ своё Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ. Но своё Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ β€” Π² Π½Ρ‘ΠΌ Π½Π΅Ρ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… абстракций, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π½Π°ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».

Π’Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ послСдниС строки, β€” спасибо Π·Π° Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com