УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Netflix β€” Π»ΠΈΠ΄Π΅Ρ€ Ρ€Ρ‹Π½ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-тСлСвидСния β€” компания, создавшая ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π°Ρ этот сСгмСнт. Netflix извСстСн Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ ΠΊΠΈΠ½ΠΎ ΠΈ сСриалов, доступных с ΠΏΠΎΡ‡Ρ‚ΠΈ любого ΡƒΠ³ΠΎΠ»ΠΊΠ° ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹ ΠΈ любого устройства с дисплССм, Π½ΠΎ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ инфраструктурой ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΉ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€ΠΎΠΉ.

Наглядный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Netflix ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ слоТных систСм Π½Π° DevOops 2019 прСдставил Π‘Π΅Ρ€Π³Π΅ΠΉ Π€Π΅Π΄ΠΎΡ€ΠΎΠ² β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π² Netflix. Выпускник Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚Π° Π’ΠœΠš ННГУ ΠΈΠΌ. ЛобачСвского, Π‘Π΅Ρ€Π³Π΅ΠΉ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Π² Open Connect β€” CDN ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Netflix. Он построил систСмы ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²ΠΈΠ΄Π΅ΠΎΠ΄Π°Π½Π½Ρ‹Ρ…, запустил популярный сСрвис для ΠΎΡ†Π΅Π½ΠΊΠΈ скорости Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСния FAST.com ΠΈ послСдниС нСсколько Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ запросов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Netflix ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π”ΠΎΠΊΠ»Π°Π΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΎΡ‚Π·Ρ‹Π²Ρ‹ ΠΎΡ‚ участников ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, ΠΈ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ для вас Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ Π‘Π΅Ρ€Π³Π΅ΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассказал

  • ΠΏΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ влияСт Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ запросов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром;
  • ΠΊΠ°ΠΊ эту Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ;
  • ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ устойчивыС ΠΊ ошибкам систСмы;
  • ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² сТатыС сроки, ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ риском для бизнСса;
  • ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы Π½ΡƒΠΆΠ½Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΌ, ΠΊΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… корпорациях.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ, ΠΊΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹.

Π”Π°Π»Π΅Π΅ β€” повСствованиС ΠΎΡ‚ Π»ΠΈΡ†Π° спикСра.

Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ скорости ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросов Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ связана с бизнСсом. Рассмотрим сфСру шопинга: компания Amazon Π² 2009 Π³ΠΎΠ΄Ρƒ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² 100 мс ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ 1% ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

ВсС большС становится ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Π° слСдом Π·Π° Π½ΠΈΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… сайтов ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Если ваша страница загруТаСтся дольшС 3 сСкунд, Π²Ρ‹ тСряСтС ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π‘ июля 2018 Π³ΠΎΠ΄Π° Google ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вашСй страницы Π² поисковой Π²Ρ‹Π΄Π°Ρ‡Π΅: Ρ‡Π΅ΠΌ быстрСС страница, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π΅Π΅ позиция Π² Google.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ соСдинСния Ρ‚Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½Π° ΠΈ Π² финансовых организациях, Π³Π΄Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°. Π’ 2015 Π³ΠΎΠ΄Ρƒ компания Hibernia Networks Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π° ΠΏΡ€ΠΎΠΊΠ»Π°Π΄ΠΊΡƒ кабСля ΠΌΠ΅ΠΆΠ΄Ρƒ Нью-Π™ΠΎΡ€ΠΊΠΎΠΌ ΠΈ Π›ΠΎΠ½Π΄ΠΎΠ½ΠΎΠΌ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ 400 ΠΌΠ»Π½ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌΠΈ Π½Π° 6 мс. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, 66 ΠΌΠ»Π½ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° 1 мс ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ!

Богласно исслСдованию, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ соСдинСния Π²Ρ‹ΡˆΠ΅ 5 ΠœΠ±ΠΈΡ‚/с пСрСстаСт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ сайта. Однако ΠΌΠ΅ΠΆΠ΄Ρƒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ соСдинСния ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы прослСТиваСтся линСйная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Однако Netflix β€” Π½Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. ВлияниС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ скорости Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” активная сфСра Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π•ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° прилоТСния ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, зависящиС ΠΎΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° статичСских элСмСнтов ΠΈ стриминг Ρ‚Π°ΠΊΠΆΠ΅ зависят ΠΈ ΠΎΡ‚ скорости соСдинСния. Анализ ΠΈ оптимизация ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° качСство сСрвиса для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, β€” активная сфСра Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² Netflix. Одна ΠΈΠ· Π·Π°Π΄Π°Ρ‡ β€” ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ запросов ΠΌΠ΅ΠΆΠ΄Ρƒ Netflix устройствами ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ инфраструктурой.

Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ ΠΌΡ‹ сфокусируСмся ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (latency) Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ инфраструктуры Netflix. Рассмотрим с практичСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ процСссам проСктирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ слоТных распрСдСлСнных систСм ΠΈ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Π° Π½Π΅ диагностику ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ.

Π’Π½ΡƒΡ‚Ρ€ΠΈ Netflix

Высячи Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… устройств ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Netflix прилоТСния. Π˜Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для Android, iOS, TV ΠΈ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ². И ΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сил Ρ‚Ρ€Π°Ρ‚ΠΈΠΌ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. Для этого ΠΌΡ‹ запускаСм ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ сотни A/B-тСстов.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ поддСрТиваСтся благодаря сотнС микросСрвисов Π² ΠΎΠ±Π»Π°ΠΊΠ΅ AWS, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ пСрсонализированныС Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π΄ΠΈΡΠΏΠ΅Ρ‚Ρ‡Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ запросов, Ρ‚Π΅Π»Π΅ΠΌΠ΅Ρ‚Ρ€ΠΈΡŽ, Big Data ΠΈ Encoding. Визуализация Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° выглядит Ρ‚Π°ΠΊ:

Бсылка Π½Π° Π²ΠΈΠ΄Π΅ΠΎ c дСмонстрациСй (6:04-6:23)

Π‘Π»Π΅Π²Π° находится entry point, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ распрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими сотнями микросСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ backend ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ нашСй инфраструктуры β€” это Open Connect CDN, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ доставляСт Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ статичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ β€” Π²ΠΈΠ΄Π΅ΠΎ, изобраТСния, ΠΊΠΎΠ΄ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.Π΄. CDN располоТСна Π½Π° кастомных сСрвСрах (OCA β€” Open Connect Appliance). Π’Π½ΡƒΡ‚Ρ€ΠΈ располоТСны массивы SSD ΠΈ HDD-дисков ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ FreeBSD, с NGINX ΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠΌ сСрвисов. ΠœΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°ΠΊΠΎΠΉ CDN сСрвСр ΠΌΠΎΠ³ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

Β«Π‘Ρ‚Π΅Π½ΠΊΠ°Β» ΠΈΠ· этих сСрвСров Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ (Internet eXchange β€” IX), выглядит Ρ‚Π°ΠΊ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Internet Exchange прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ ΠΈ поставщикам ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Β«ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡΒ» Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ для Π±ΠΎΠ»Π΅Π΅ прямого ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. По всСму ΠΌΠΈΡ€Ρƒ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 70-80 Internet Exchange Ρ‚ΠΎΡ‡Π΅ΠΊ, Π³Π΄Π΅ установлСны наши сСрвСра, ΠΈ ΠΌΡ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ занимаСмся ΠΈΡ… установкой ΠΈ обслуТиваниСм:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Помимо этого, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСм сСрвСры Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π² свою ΡΠ΅Ρ‚ΡŒ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ НСтфликс Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ качСство стриминга для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Набор AWS сСрвисов отвСтствСн Π·Π° Π΄ΠΈΡΠΏΠ΅Ρ‚Ρ‡Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²ΠΈΠ΄Π΅ΠΎ запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΊ CDN сСрвСрам, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ самих сСрвСров β€” ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, настроСк ΠΈ Ρ‚.Π΄. Для послСднСго ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ построили backbone network, которая соСдиняСт сСрвСра Π² Internet Exchange Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… с AWS. Backbone network прСдставляСт ΠΈΠ· сСбя Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ ΠΈΠ· ΠΎΠΏΡ‚ΠΎΠ²ΠΎΠ»ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… ΠΊΠ°Π±Π΅Π»Π΅ΠΉ ΠΈ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходя ΠΈΠ· Π½Π°ΡˆΠΈΡ… Π½ΡƒΠΆΠ΄.

По ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ Sandvine, наша CDN инфраструктура доставляСт Π² ΠΏΠΈΠΊΠΎΠ²Ρ‹Π΅ часы ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ β…› Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ β…“ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Π‘Π΅Π²Π΅Ρ€Π½ΠΎΠΉ АмСрикС, Π³Π΄Π΅ Netflix сущСствуСт дольшС всСго. Π’ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ†ΠΈΡ„Ρ€Ρ‹, Π½ΠΎ для мСня ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… достиТСний являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ вся CDN систСма разрабатываСтся ΠΈ поддСрТиваСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈΠ· ΠΌΠ΅Π½Π΅Π΅ 150 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ, CDN инфраструктура Π±Ρ‹Π»Π° спроСктирована для доставки Π²ΠΈΠ΄Π΅ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Однако, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΡ‹ поняли, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΈ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ динамичСских запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² AWS ΠΎΠ±Π»Π°ΠΊΠΎ.

ΠŸΡ€ΠΎ ускорСниС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°

БСгодня Ρƒ Netflix 3 Ρ€Π΅Π³ΠΈΠΎΠ½Π° AWS, ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запросов Π² ΠΎΠ±Π»Π°ΠΊΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, насколько Π΄Π°Π»Π΅ΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ находится ΠΎΡ‚ блиТайшСго Ρ€Π΅Π³ΠΈΠΎΠ½Π°. ΠŸΡ€ΠΈ это Ρƒ нас Π΅ΡΡ‚ΡŒ мноТСство CDN сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для доставки статичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. МоТно Π»ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту инфраструктуру, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ динамичСскиС запросы? ΠŸΡ€ΠΈ этом ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти запросы, ΠΊ соТалСнию, нСльзя β€” API пСрсонализированы ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½.

Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм прокси Π½Π° CDN-сСрвСрС ΠΈ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³ΠΎΠ½ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ это быстрСС?

ΠœΠ°Ρ‚Ρ‡Π°ΡΡ‚ΡŒ

Вспомним, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ сСтСвыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹. БСгодня большая Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ HTTPs, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ зависит ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня TCP ΠΈ TLS. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΡΡ ΠΊ сСрвСру, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ handshake, ΠΈ для установки Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ соСдинСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ сообщСниями с сСрвСром Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° ΠΈ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ΠŸΡ€ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΌΠ΅Π½ (RTT) 100 мс Π½Π°ΠΌ понадобится 400 мс, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Если сСртификаты располоТим Π½Π° CDN-сСрвСрС, Ρ‚ΠΎ врСмя «рукопоТатия» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΌΠΎΠΆΠ΅ΠΌ сущСствСнно ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ, Ссли CDN находится Π±Π»ΠΈΠΆΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄ΠΎ CDN-сСрвСра составляСт 30 мс. Π’ΠΎΠ³Π΄Π° для получСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° потрСбуСтся ΡƒΠΆΠ΅ 220 мс:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Но ΠΏΠ»ΡŽΡΡ‹ Π½Π° этом Π½Π΅ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ соСдинСниС ΡƒΠΆΠ΅ установлСно, TCP ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ congestion window (количСство ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ этому соСдинСнию ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ). Если тСряСтся ΠΏΠ°ΠΊΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ классичСскиС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ TCP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° (Π²Ρ€ΠΎΠ΄Π΅ TCP New Reno) ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Β«ΠΎΠΊΠ½ΠΎΒ» Π² Π΄Π²Π° Ρ€Π°Π·Π°. Рост congestion window, ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ восстановлСния ΠΎΡ‚ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ снова зависит ΠΎΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ (RTT) Π΄ΠΎ сСрвСра. Если это соСдинСниС ΠΈΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ CDN-сСрвСра, это восстановлСниС Π±ΡƒΠ΄Π΅Ρ‚ быстрСС. ΠŸΡ€ΠΈ этом потСря ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” стандартноС явлСниС, особСнно для бСспроводных сСтСй.

ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒΡΡ, особСнно Π² ΠΏΠΈΠΊΠΎΠ²Ρ‹Π΅ часы ΠΈΠ·-Π·Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Β«ΠΏΡ€ΠΎΠ±ΠΊΠ°ΠΌΒ». ΠŸΡ€ΠΈ этом Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π½Π΅Ρ‚ способа Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ запросам ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. НапримСр, Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ малСньким ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ ΠΈ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ запросам ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ «тяТСлым» ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ ΡΠ΅Ρ‚ΡŒ. Однако Π² нашСм случаС Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ собствСнной backbone сСти позволяСт это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° части ΠΏΡƒΡ‚ΠΈ запроса β€” ΠΌΠ΅ΠΆΠ΄Ρƒ CDN ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, ΠΈ ΠΌΡ‹ Π΅Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. МоТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ нСбольшиС ΠΈ зависимыС ΠΎΡ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ, Π° большиС ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… пошли Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅. Π§Π΅ΠΌ Π±Π»ΠΈΠΆΠ΅ CDN ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ β€” Ρ‚Π΅ΠΌ большС большС ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

Π•Ρ‰Π΅ влияниС Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ application уровня (OSI Level 7). НовыС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ HTTP/2, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… запросов. Однако Ρƒ нас Π΅ΡΡ‚ΡŒ Netflix Π΅ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ со старыми устройствами, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹. НС всС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΈΠ»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ. ΠŸΡ€ΠΈ этом ΠΌΠ΅ΠΆΠ΄Ρƒ CDN прокси ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ β€” ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅, ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ настройки. НСэффСктивная Ρ‡Π°ΡΡ‚ΡŒ со старыми ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ CDN-сСрвСром. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»Π΅ΠΊΡ запросов Π½Π° ΡƒΠΆΠ΅ установлСнноС соСдинСниС ΠΌΠ΅ΠΆΠ΄Ρƒ CDN ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ ΡƒΡ‚ΠΈΠ»ΠΈΠ·Π°Ρ†ΠΈΡŽ соСдинСния Π½Π° TCP ΡƒΡ€ΠΎΠ²Π½Π΅:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π˜Π·ΠΌΠ΅Ρ€ΡΠ΅ΠΌ

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ тСория ΠΎΠ±Π΅Ρ‰Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, ΠΌΡ‹ Π½Π΅ бросаСмся сразу Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ систСму Π² production. ВмСсто этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ идСя сработаСт Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° нСсколько вопросов:

  • Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ прокси быстрСС?
  • ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ: Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρ‡Π°Ρ‰Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ?
  • Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с прилоТСниями?
  • Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: сколько стоит Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ инфраструктуры?

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ наш ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΎΡ†Π΅Π½ΠΊΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Для Π°Π½Π°Π»ΠΈΠ·Π° скорости запросов ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ production. Для этого Π΅ΡΡ‚ΡŒ нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²:

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

Как ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ прСимущСства ΠΎΠ±ΠΎΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²?

Наша ΠΊΠΎΠΌΠ°Π½Π΄Π° нашла Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠœΡ‹ написали нСбольшой кусочСк ΠΊΠΎΠ΄Π° β€” ΠΏΡ€ΠΎΠ±Ρƒ β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ встроили Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡ€ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ сСтСвыС тСсты с Π½Π°ΡˆΠΈΡ… устройств. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. ВскорС послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ активности ΠΌΡ‹ запускаСт наши ΠΏΡ€ΠΎΠ±Ρ‹.
  2. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π΄Π΅Π»Π°Π΅Ρ‚ запрос Π½Π° сСрвСр ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Β«Ρ€Π΅Ρ†Π΅ΠΏΡ‚Β» тСста. Π Π΅Ρ†Π΅ΠΏΡ‚ прСдставляСт собой список ΠΈΠ· URL-адрСсов, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ HTTP(s) запрос. Помимо этого Ρ€Π΅Ρ†Π΅ΠΏΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запросов: Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ запросами, объСм Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, HTTP(s) headers ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΈ этом ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ² β€” ΠΏΡ€ΠΈ запросС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΡ‹ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ опрСдСляСтся, ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅Ρ†Π΅ΠΏΡ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ.
  3. ВрСмя запуска ΠΏΡ€ΠΎΠ±Ρ‹ выбираСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ использованиСм сСтСвых рСсурсов Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. По сути, выбираСтся врСмя ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½.
  4. ПослС получСния Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄Π΅Π»Π°Π΅Ρ‚ запросы Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· URL-адрСсов, ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ. Запрос Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· адрСсов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ β€” Ρ‚.Π½. Β«ΠΏΡƒΠ»ΡŒΡΡ‹Β». На ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡƒΠ»ΡŒΡΠ΅ ΠΌΡ‹ измСряСм, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ для установки соСдинСния ΠΈ Π·Π°ΠΊΠ°Ρ‡ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. На Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΏΡƒΠ»ΡŒΡΠ΅ ΠΌΡ‹ измСряСм врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ΡƒΠΆΠ΅ установлСнному соСдинСнию. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ установлСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ соСдинСния ΠΈ Ρ‚.ΠΏ.

    Π’ΠΎ врСмя тСста ΠΌΡ‹ измСряСм всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ устройство:

    • врСмя DNS запроса;
    • врСмя установки соСдинСния ΠΏΠΎ TCP;
    • врСмя установки соСдинСния ΠΏΠΎ TLS;
    • врСмя получСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…;
    • ΠΏΠΎΠ»Π½ΠΎΠ΅ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ;
    • статус ΠΊΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°.
  5. ПослС окончания всСх ΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΏΡ€ΠΎΠ±Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ всСх ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ.

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ минимальная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… запросов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ влияниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π²Π»ΠΈΡΡŽΡ‰ΠΈΡ… Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов, Π²Π°Ρ€ΡŒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°, ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

Вакая инфраструктура оказалась ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов. Π’ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ нас 14 Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ², Π±ΠΎΠ»Π΅Π΅ 6000 ΠΏΡ€ΠΎΠ± Π² сСкунду, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ со всСх ΡƒΠ³ΠΎΠ»ΠΊΠΎΠ² Π·Π΅ΠΌΠ»ΠΈ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ устройств. Если Π±Ρ‹ Netflix ΠΏΠΎΠΊΡƒΠΏΠ°Π»Π° Π±Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ сСрвис Ρƒ сторонних ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Ρ‚ΠΎ ΠΎΠ½ стоил Π±Ρ‹ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄, ΠΏΡ€ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅: ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ

Π‘ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ систСмой ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ CDN прокси Π½Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ запросов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ:

  • ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ прокси;
  • Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° CDN;
  • ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΊ прокси Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ CDN сСрвСрС;
  • ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с запросами Π² AWS Π±Π΅Π· прокси.

Π—Π°Π΄Π°Ρ‡Π° β€” ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Go, благодаря Π½Π°Π»ΠΈΡ‡ΠΈΡŽ Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… сСтСвых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ CDN-сСрвСрС ΠΌΡ‹ установили ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ прокси ΠΊΠ°ΠΊ static binary, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ зависимости ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ. Π’ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ ΠΏΠΎ максимуму использовали стандартныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ нСбольшиС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для HTTP/2 connection pooling ΠΈ request multiplexing.

Для балансировки ΠΌΠ΅ΠΆΠ΄Ρƒ AWS Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΌΡ‹ использовали Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… DNS, Ρ‚Ρƒ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для балансировки ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². Для Π²Ρ‹Π±ΠΎΡ€Π° CDN сСрвСра для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ TCP Anycast для сСрвСров Π² Internet Exchange (IX). Π’ этом Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ IP-адрСс Π½Π° всС CDN сСрвСра, ΠΏΡ€ΠΈ этом ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ ΠΊ CDN сСрвСру с наимСньшим количСством IP hops. Π’ CDN сСрвСрах установлСнных Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² (ISP) Ρƒ нас Π½Π΅Ρ‚ контроля Π½Π°Π΄ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ΠΎΠΌ для настройки TCP Anycast, поэтому задСйствуСм Ρ‚Ρƒ ΠΆΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ для видСостриминга.

Π˜Ρ‚Π°ΠΊ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° ΠΏΡƒΡ‚Π΅ΠΉ для запроса: Π² ΠΎΠ±Π»Π°ΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‡Π΅Ρ€Π΅Π· CDN-сСрвСр Π² IX ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· CDN-сСрвСр располоТСнный Ρƒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°. Наша Ρ†Π΅Π»ΡŒ β€” ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅, ΠΈ какая польза ΠΎΡ‚ прокси, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ запросы Π½Π°ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² production. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ систСму ΠΏΡ€ΠΎΠ± ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΡƒΡ‚Π΅ΠΉ становится ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π°Ρ€Π³Π΅Ρ‚ΠΎΠΌ, ΠΈ ΠΌΡ‹ смотрим Π½Π° врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρƒ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ. Для Π°Π½Π°Π»ΠΈΠ·Π° объСдиняСм прокси Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² ΠΎΠ΄Π½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡƒ (Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅Π΅ врСмя ΠΌΠ΅ΠΆΠ΄Ρƒ IX ΠΈ ISP прокси), ΠΈ сравниваСм с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ запросов Π² ΠΎΠ±Π»Π°ΠΊΠΎ Π±Π΅Π· прокси:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Как Π²ΠΈΠ΄Π½ΠΎ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ оказались Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ β€” Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв прокси Π΄Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ускорСниС, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ достаточноС количСство ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ситуация Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ΡΡ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΡ‹ сдСлали нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ:

  1. ΠžΡ†Π΅Π½ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΠ±Π»Π°ΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· CDN прокси.
  2. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ настоящих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², со всСх Ρ‚ΠΈΠΏΠΎΠ² устройств.
  3. Поняли, Ρ‡Ρ‚ΠΎ тСория Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΠ»Π°ΡΡŒ Π½Π° 100% ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с CDN прокси для нас Π½Π΅ сработаСт.
  4. НС рисковали β€” Π½Π΅ мСняли production ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².
  5. НичСго Π½Π΅ сломали.

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ 2.0

Π˜Ρ‚Π°ΠΊ, возвращаСмся ΠΊ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ½ΠΎΠΉ доскС ΠΈ повторяСм процСсс Π·Π°Π½ΠΎΠ²ΠΎ.

ИдСя β€” вмСсто 100% прокси Π±ΡƒΠ΄Π΅ΠΌ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ самый быстрый ΠΏΡƒΡ‚ΡŒ, ΠΈ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚ΡƒΠ΄Π° Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запросы β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ называСтся client steering.

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Как это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ? ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° сСрвСрной сторонС, Ρ‚.ΠΊ. Ρ†Π΅Π»ΡŒ β€” ΠΊ этому сСрвСру ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ. НуТно ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. И идСально, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ вопрос ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ количСством клиСнтских ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

ΠžΡ‚Π²Π΅Ρ‚ β€” использованиС DNS. Π’ нашСм случаС Ρƒ нас Π΅ΡΡ‚ΡŒ своя DNS инфраструктура, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½Π½ΡƒΡŽ Π·ΠΎΠ½Ρƒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ наши сСрвСра Π±ΡƒΠ΄ΡƒΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π½Ρ‹ΠΌΠΈ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Ρ‚Π°ΠΊ:

  1. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π΄Π΅Π»Π°Π΅Ρ‚ запрос ΠΊ DNS-сСрвСру ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ хост, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ api.netflix.xom.
  2. Запрос поступаСт Π½Π° наш DNS-сСрвСр
  3. DNS-сСрвСр Π·Π½Π°Π΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΡ‚ΡŒ для этого ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° самый быстрый ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ip адрСс.

Π’ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π½Ρ‹Π΅ DNS-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π½Π΅ видят IP-адрСс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ IP-адрСс рСкурсивного resolver, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ наш Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π½Ρ‹ΠΉ resolver Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° для Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° основС рСкурсивного resolver.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Ρ‹, Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· рСкурсивных resolver ΠΈ Ρ€Π΅ΡˆΠ°Π΅ΠΌ, ΠΊΡƒΠ΄Π° ΠΈΡ… эту Π³Ρ€ΡƒΠΏΠΏΡƒ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ β€” прокси Ρ‡Π΅Ρ€Π΅Π· IX с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ TCP Anycast, Ρ‡Π΅Ρ€Π΅Π· ISP прокси ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΎΠ±Π»Π°ΠΊΠΎ.

ΠœΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚Π°ΠΊΡƒΡŽ систСму:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ модСль DNS steering позволяСт Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° основС историчСских наблюдСний ΠΎ скорости соСдинСний ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΎ ΠΎΠ±Π»Π°ΠΊΠ°.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, вопрос β€” насколько эффСктивно Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ? Для ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΌΡ‹ снова ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π½Π°ΡˆΡƒ систСму ΠΏΡ€ΠΎΠ±. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ настраиваСм ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Ρ€Π΅Ρ†Π΅Π½Ρ‚Π°, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ‚Π°Ρ€Π³Π΅Ρ‚ΠΎΠ² слСдуСт Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΎΡ‚ DNS steering, Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” ΠΈΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΎΠ±Π»Π°ΠΊΠΎ (Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ production).

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π’ ΠΈΡ‚ΠΎΠ³Π΅ сравниваСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ†Π΅Π½ΠΊΡƒ эффСктивности:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ:

  1. ΠžΡ†Π΅Π½ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΠ±Π»Π°ΠΊΠΎ с использованиСм DNS Steering.
  2. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ настоящих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², со всСх Ρ‚ΠΈΠΏΠΎΠ² устройств.
  3. Π”ΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅ΠΈ.
  4. НС рисковали β€” Π½Π΅ мСняли production ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².
  5. НичСго Π½Π΅ сломали.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎ слоТном β€” запускаСм Π² production

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

И ΠΏΡ€ΠΈ всСм этом, Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ β€” 3 ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°, отвСтствСнныС Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ систСмы.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ дальшС Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ спокойном ΠΈ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎΠΌ снС.

Как ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, Π° Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ всС врСмя Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ? Π’ основС нашСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π»Π΅ΠΆΠ°Ρ‚ 3 ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°:

  1. УмСньшаСм ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ (blast radius).
  2. Готовимся ΠΊ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Π°ΠΌ β€” ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ сломаСтся, нСсмотря Π½Π° тСстированиС ΠΈ Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚.
  3. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Π°Ρ дСградация (graceful degradation) β€” Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒΡΡ автоматичСски, ΠΏΡƒΡΡ‚ΡŒ ΠΈ Π½Π΅ самым эффСктивным способом.

Оказалось, Ρ‡Ρ‚ΠΎ Π² нашСм случаС, ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ простоС ΠΈ эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ систСмы. ΠœΡ‹ поняли, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ нСбольшой кусочСк ΠΊΠΎΠ΄Π° ΠΈ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ошибками сСтСвых запросов, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ с соСдинСниСм. ΠŸΡ€ΠΈ сСтСвый ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Π΄Π΅Π»Π°Π΅ΠΌ fallback Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² ΠΎΠ±Π»Π°ΠΊΠΎ. Π’Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий для клиСнтских ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΠΎ сильно ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ риск ΠΎΡ‚ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ ΠΈ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·ΠΎΠ² для нас.

РазумССтся, нСсмотря Π½Π° fallback, ΠΌΡ‹ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ слСдуСм Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ дисциплинС Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

  1. ВСст Π½Π° ΠΏΡ€ΠΎΠ±Π°Ρ….
  2. A/B-тСстированиС ΠΈΠ»ΠΈ Canaries.
  3. ΠŸΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½Ρ‹ΠΉ выпуск (progressive rollout).

Π‘ ΠΏΡ€ΠΎΠ±Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π» описан β€” измСнСния сначала Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ настроСнного Ρ€Π΅Ρ†Π΅ΠΏΡ‚Π°.

Для canary-тСстирования Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сравнимыС ΠΏΠ°Ρ€Ρ‹ сСрвСров, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ систСма Π΄ΠΎ ΠΈ послС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Для этого ΠΈΠ· Π½Π°ΡˆΠΈΡ… многочислСнных CDN сайтов ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠ°Ρ€ сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ сравнимый Ρ‚Ρ€Π°Ρ„ΠΈΠΊ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ставим сборку с измСнСниями Π½Π° Canary сСрвСра. Для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΌΡ‹ запускаСм систСму, которая сравниваСт ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 100-150 ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ с Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ Control сСрвСров:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

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

Π’ Ρ†Π΅Π»ΠΎΠΌ, ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° зависит ΠΎΡ‚ количСства ΠΈ качСства собранных ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ. Для нашСй систСмы ускорСния запросов ΠΌΡ‹ собираСм ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ со всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²:

  • ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² β€” количСство сСссий ΠΈ запросов, fallback rates;
  • прокси β€” статистика ΠΏΠΎ количСству ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запросов;
  • DNS β€” количСство ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ запросов;
  • cloud edge β€” количСство ΠΈ врСмя Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ запросов Π² ΠΎΠ±Π»Π°ΠΊΠ΅.

ВсС это собираСтся Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ pipeline, ΠΈ, Π² зависимости ΠΎΡ‚ Π½ΡƒΠΆΠ΄, ΠΌΡ‹ Ρ€Π΅ΡˆΠ°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° real-time Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ, Π° ΠΊΠ°ΠΊΠΈΠ΅ β€” Π² Elasticsearch ΠΈΠ»ΠΈ Big Data для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ диагностики.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

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

ИдСально β€” ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊΠΎ всСм Π²ΠΈΠ΄Π°ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Но ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, поэтому встаСт вопрос стоимости. Π’ нашСм случаС ΠΌΡ‹ Ρ€Π°Π·Π΄Π΅Π»Π°Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ инструмСнты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Для обнаруТСния ΠΈ triage ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ real-time систСму с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Atlas ΠΈ Lumen β€” для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Она Ρ…Ρ€Π°Π½ΠΈΡ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π² памяти, Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΈ интСгрируСтся с alerting system. Для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ диагностики ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ доступ ΠΊ Π»ΠΎΠ³Π°ΠΌ с Elasticsearch ΠΈ Kibana. Для статистичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ модСлирования β€” задСйствуСм big data ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² Tableau.

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

Π”Π°ΠΆΠ΅ Ссли диагностика дСлаСтся быстро, ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это происходило часто. Π’ идСальном случаС ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ критичСский alert Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ влияниС Π½Π° сСрвис. Для нашСй систСмы ускорСния запросов Ρƒ нас всСго 2 alert, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡ‚ΡŒ:

  • ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Client Fallback β€” ΠΎΡ†Π΅Π½ΠΊΠ° повСдСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²;
  • ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Probe errors β€” Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСтСвых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

Π­Ρ‚ΠΈ critical alerts слСдят, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ систСма для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠœΡ‹ смотрим Π½Π° Ρ‚ΠΎ, сколько ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² воспользовались fallback, Ссли ΠΎΠ½ΠΈ Π½Π΅ смогли ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ускорСниС запросов. Π£ нас Π² срСднСм ΠΌΠ΅Π½Π΅Π΅ 1 критичСского оповСщСния Π² нСдСлю, хотя Π² систСмС происходит ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π°ΠΌ этого достаточно?

  1. Π•ΡΡ‚ΡŒ client fallback Π² случаС Ссли наша прокси Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.
  2. Π•ΡΡ‚ΡŒ автоматичСская steering систСма, которая Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

О послСднСм ΠΏΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Наша систСма ΠΏΡ€ΠΎΠ±, ΠΈ систСма автоматичСского опрСдСлСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ для запросов ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ.

ВСрнСмся ΠΊ нашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ± ΠΈ 3 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΠΏΡƒΡ‚Π΅ΠΉ. Помимо Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° сам Ρ„Π°ΠΊΡ‚ доставки. Если Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ, смотря Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ путям ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π³Π΄Π΅ ΠΈ Ρ‡Ρ‚ΠΎ сломалось, ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ автоматичСски это ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΡƒΡ‚ΡŒ запроса.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π­Ρ‚ΠΎΡ‚ процСсс ΠΌΠΎΠΆΠ½ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² steering-систСму. И Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π»ΠΎΠΌΠ°Ρ‚ΡŒΡΡ β€” ΡΡ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π΅ΡΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ°Ρ опция. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ рСакция Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π°, благодаря fallback Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ….

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ систСмы ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

  • ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π± ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ;
  • собираСм ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ;
  • автоматичСски Ρ‡ΠΈΠ½ΠΈΠΌ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ, Ссли ΠΌΠΎΠΆΠ΅ΠΌ;
  • Ссли Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ β€” ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅ΠΌ;
  • Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ dashboards ΠΈ triage toolset для быстрой Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ.

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠΊΠΈ

Для написания ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° Π½Π΅ трСбуСтся ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ нашСм случаС ΠΎΠ½ Π±Ρ‹Π» Π³ΠΎΡ‚ΠΎΠ² ΡƒΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· 4 мСсяца. Π‘ Π½ΠΈΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΈ Ρ‡Π΅Ρ€Π΅Π· 10 мСсяцСв с Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ production Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π—Π°Ρ‚Π΅ΠΌ Π½Π°Ρ‡Π°Π»Π°ΡΡŒ нудная ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТная Ρ€Π°Π±ΠΎΡ‚Π°: постСпСнно ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму, ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ основной Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π°Π΄ ошибками. ΠŸΡ€ΠΈ этом этот эффСктивный процСсс Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ β€” нСсмотря Π½Π° всС усилия, нСльзя всС ΠΏΡ€Π΅Π΄ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ. Намного эффСктивнСС β€” быстрая итСрация ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

УскоряСм ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-запросы ΠΈ спим спокойно

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· нашСго ΠΎΠΏΡ‹Ρ‚Π°, ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. НС Π²Π΅Ρ€ΡŒΡ‚Π΅ ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΠΈ.

    Наша интуиция ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΠ»Π° нас постоянно, нСсмотря Π½Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. НапримСр, ΠΌΡ‹ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ прСдсказывали ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ускорСниС ΠΎΡ‚ использования CDN прокси, ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ TCP Anycast.

  2. ΠŸΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· production.

    Π’Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ хотя Π±Ρ‹ ΠΊ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству production Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… случаСв, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, настроСк Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… условиях ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Быстрый доступ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ быстрСС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ…, ΠΈ ΡƒΡ‡Π΅ΡΡ‚ΡŒ ΠΈΡ… Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ систСмы.

  3. НС слСдуйтС Ρ‡ΡƒΠΆΠΈΠΌ совСтам ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ β€” собирайтС свои Π΄Π°Π½Π½Ρ‹Π΅.

    Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ΠΏΠΎ сбору ΠΈ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π½Π΅ Π±Π΅Ρ€ΠΈΡ‚Π΅ слСпо Ρ‡ΡƒΠΆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΈ утвСрТдСния. Волько Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для Π²Π°ΡˆΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’Π°ΡˆΠΈ систСмы ΠΈ ваши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ сущСствСнно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π‘Π»Π°Π³ΠΎ, инструмСнты для Π°Π½Π°Π»ΠΈΠ·Π° сСйчас доступны ΠΈ Π»Π΅Π³ΠΊΠΈ Π² использовании. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ Netflix, Facebook, Akamai ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’ нашСм случаС, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ TLS, HTTP2 ΠΈΠ»ΠΈ статистика ΠΏΠΎ DNS запросам отличаСтся ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Facebook, Uber, Akamai β€” ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ нас Π΄Ρ€ΡƒΠ³ΠΈΠ΅ устройства, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

  4. НС ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ Π·Π° ΠΌΠΎΠ΄Π½Ρ‹ΠΌΠΈ Ρ‚Ρ€Π΅Π½Π΄Π°ΠΌΠΈ Π±Π΅Π· Π½ΡƒΠΆΠ΄Ρ‹ ΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ эффСктивности.

    НачинайтС с простого. Π›ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ систСму Π·Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя, Ρ‡Π΅ΠΌ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π Π΅ΡˆΠ°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹ Π½Π° основС Π²Π°ΡˆΠΈΡ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

  5. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ примСнСниям.

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

    • для балансировки Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ AWS Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌ, ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ расходов;
    • для модСлирования ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ CDN;
    • для конфигурирования DNS;
    • для конфигурирования TLS/TCP.

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

Π’ Π΄ΠΎΠΊΠ»Π°Π΄Π΅ я описал ΠΊΠ°ΠΊ Netflix Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ ускорСния ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ запросов ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎΠΌ. Как ΠΌΡ‹ собираСм Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСмы ΠΏΡ€ΠΎΠ± Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ собранныС историчСскиС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ production запросы с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрый ΠΏΡƒΡ‚ΡŒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Как ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сСтСвых ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π½Π°ΡˆΡƒ CDN инфраструктуру, backbone ΡΠ΅Ρ‚ΡŒ, ΠΈ DNS сСрвСра, для достиТСния этой Π·Π°Π΄Π°Ρ‡ΠΈ.

Однако, нашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” это всСго лишь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π² Netflix Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Ρ‚Π°ΠΊΡƒΡŽ систСму. Π§Ρ‚ΠΎ сработало для нас. ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠ΅Π³ΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π° для вас β€” ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ слСдуСм ΠΈ достигаСм Ρ…ΠΎΡ€ΠΎΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

НашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ. Однако тСория ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ, Π΄Π°ΠΆΠ΅ Ссли Ρƒ вас Π½Π΅Ρ‚ собствСнной CDN инфраструктуры, ΠΈΠ»ΠΈ Ссли ΠΎΠ½Π° сущСствСнно отличаСтся ΠΎΡ‚ нашСй.

Π’Π°ΠΊΠΆΠ΅ остаСтся Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ скорости запросов Π½Π° бизнСс. И Π΄Π°ΠΆΠ΅ для простого сСрвиса Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€: ΠΌΠ΅ΠΆΠ΄Ρƒ Β«ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈΒ» ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ, мСстополоТСниСм сСрвСров, CDN ΠΈ DNS ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌΠΈ. Π’Π°Ρˆ Π²Ρ‹Π±ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ запросов для Π²Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ². И для вас Π²Π°ΠΆΠ½ΠΎ это влияниС ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ.

НачинайтС с простых Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π·Π°Π±ΠΎΡ‚ΡŒΡ‚Π΅ΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ измСняСтС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. Π£Ρ‡ΠΈΡ‚Π΅ΡΡŒ Π² процСссС ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΠΉΡ‚Π΅ систСму Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ… с Π²Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², вашСй инфраструктуры, ΠΈ вашСго бизнСса. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ возмоТности Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΠΎΠΌΠΎΠΊ Π² процСссС проСктирования. И Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ смоТСтС ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ваш процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ излишнСй Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΡΠΏΠ°Ρ‚ΡŒ спокойно.

Π’ этом Π³ΠΎΠ΄Ρƒ конфСрСнция ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ с 6 ΠΏΠΎ 10 июля Π² ΠΎΠ½Π»Π°ΠΉΠ½-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. МоТно Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π΄Π°Ρ‚ΡŒ вопросы ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· ΠΎΡ‚Ρ†ΠΎΠ² DevOps, самому Π”ΠΆΠΎΠ½Ρƒ Уиллису!

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

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