Как ΠΌΡ‹ ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Π»ΠΈ Π’Π΅Π»ΠΈΠΊΠΈΠΉ ΠšΠΈΡ‚Π°ΠΉΡΠΊΠΈΠΉ Π€Π°Π΅Ρ€Π²ΠΎΠ» (Ρ‡.2)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚!

Π‘ Π²Π°ΠΌΠΈ снова Никита β€” систСмный ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SΠ•Mrush. И этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠšΠΈΡ‚Π°ΠΉΡΠΊΠΎΠ³ΠΎ Π€Π°Π΅Ρ€Π²ΠΎΠ»Π° для нашСго сСрвиса semrush.com.

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ части я рассказал:

  • ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ принимаСтся Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ «Нам Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш сСрвис Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² ΠšΠΈΡ‚Π°Π΅Β»
  • ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΅ΡΡ‚ΡŒ Ρƒ китайского ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°
  • Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° ICP-лицСнзия
  • ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наши тСстовыС стСнды с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Catchpoint
  • ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄Π°Π» наш ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉΡΡ Π½Π° Cloudflare China Network
  • ΠΊΠ°ΠΊ ΠΌΡ‹ нашли Π±Π°Π³ Π² DNS Cloudflare

Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ β€” самая итСрСсная, Π½Π° ΠΌΠΎΠΉ взгляд, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сосрСдоточСна Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… тСхничСских рСализациях стСйдТингов. И Π½Π°Ρ‡Π½Π΅ΠΌ ΠΌΡ‹, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ, с Alibaba Cloud.

Alibaba Cloud

Alibaba Cloud β€” довольно большой ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ всС сСрвисы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π΅ΠΌΡƒ чСстно Π²Π΅Π»ΠΈΡ‡Π°Ρ‚ΡŒ сСбя cloud provider. Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³Π°Ρ‚ΡŒΡΡ иностранным ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΈ Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ сайта ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° английский (для ΠšΠΈΡ‚Π°Ρ это Ρ€ΠΎΡΠΊΠΎΡˆΡŒ). Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со мноТСством Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² ΠΌΠΈΡ€Π°, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠšΠΈΡ‚Π°Ρ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠžΠΊΠ΅Π°Π½ΠΈΡ‡Π΅ΡΠΊΠΎΠΉ Азии (Π“ΠΎΠ½ΠΊΠΎΠ½Π³, Вайвань, ΠΈ Ρ‚.Π΄.).

IPSEC

Начали с Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ тСстовый сайт Ρƒ нас находился Π² Google Cloud, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ β€œΡΠ²ΡΠ·Π°Ρ‚ΡŒβ€ Alibaba Cloud c GCP, поэтому ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ список Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… присутствуСт Google. Π’ Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ Π½ΠΈΡ… Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ своСго Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€Π° Π² Π“ΠΎΠ½ΠΊΠΎΠ½Π³Π΅.
Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠΌ оказался asia-east1 (Вайвань). Π£ Ali Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΈΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚ΠΈΠ½Π΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠšΠΈΡ‚Π°Ρ ΠΊ Вайваню оказался cn-shenzhen (Π¨Π΅Π½ΡŒΡ‡ΠΆΠ΅Π½ΡŒ).

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ terraform описали ΠΈ подняли всю инфраструктуру Π² GCP ΠΈ Ali. Π’ΡƒΠ½Π½Π΅Π»ΡŒ 100 ΠΌΠ±ΠΈΡ‚/с ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ поднялся практичСски ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ. На сторонС Π¨Π΅Π½ΡŒΡ‡ΠΆΠ΅Π½Ρ ΠΈ Вайваня подняли ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ. Π’ Π¨Π΅Π½ΡŒΡ‡ΠΆΠ΅Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ тСрминируСтся, проксируСтся Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π² Вайвань, Π° ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΡƒΠΆΠ΅ ΠΈΠ΄Π΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° внСшний IP нашСго сСрвиса Π² us-east (ВосточноС ΠΏΠΎΠ±Π΅Ρ€Π΅ΠΆΡŒΠ΅ БША). Пинг ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°ΠΌΠΈ ΠΏΠΎ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŽ 24ms, Ρ‡Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠ»ΠΎΡ…ΠΎ.

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΡ‹ размСстили Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ Π·ΠΎΠ½Ρƒ Π² Alibaba Cloud DNS. ПослС дСлСгирования Π·ΠΎΠ½Ρ‹ Π½Π° NS Ali, врСмя Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΠ½Π³Π° снизилось с 470 ms Π΄ΠΎ 50 ms. Π”ΠΎ этого Π·ΠΎΠ½Π° Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π»Π° Π½Π° Cloudlfare.

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΌ Π΄ΠΎ asia-east1 подняли Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ ΠΈΠ· Π¨Π΅Π½ΡŒΡ‡ΠΆΠ΅Π½Ρ прямо Π² us-east4. Π’Π°ΠΌ создали Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΎΠΊ ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ ΠΎΠ±Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΡ тСстовый Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Cookies ΠΈΠ»ΠΈ DNS. Π‘Ρ…Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ тСстовый стСнд описан Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС:

Latency для Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ:
Ali cn-shenzhen <—> GCP asia-east1 β€” 24ms
Ali cn-shenzhen <—> GCP us-east4 β€” 200ms

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Π΅ тСсты Catchpoint Ρ€Π°ΠΏΠΎΡ€Ρ‚ΠΎΠ²Π°Π»ΠΈ ΠΎΠ± ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстов для Π΄Π²ΡƒΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ:

РСшСниС
Uptime
Median
75 Percentile
95 Percentile

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

Π­Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ IPSEC-Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Ρ‡Π΅Ρ€Π΅Π· asia-east1. Π§Π΅Ρ€Π΅Π· us-east4 Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Ρ…ΡƒΠΆΠ΅, Π΄Π° ΠΈ ошибок Π±Ρ‹Π»ΠΎ большС, поэтому Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Ρƒ.

По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ тСста Π΄Π²ΡƒΡ… Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… тСрминируСтся Π² блиТайшСм Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ ΠΊ ΠšΠΈΡ‚Π°ΡŽ, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ назначСния, стало понятно, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС β€œΠ²Ρ‹Π½Ρ‹Ρ€ΠΈΠ²Π°Ρ‚ΡŒβ€ ΠΈΠ·-ΠΏΠΎΠ΄ китайского Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Π°, Π° дальшС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ быстрыС сСти (CDN-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚.Π΄.). НС Π½Π°Π΄ΠΎ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ°Ρ…ΠΎΠΌ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ„Π°Π΅Ρ€Π²ΠΎΠ» ΠΈ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΠΏΡƒΠ½ΠΊΡ‚ назначСния. Π­Ρ‚ΠΎ Π½Π΅ самый быстрый ΠΏΡƒΡ‚ΡŒ.

Π’ Ρ†Π΅Π»ΠΎΠΌ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Ρƒ semrush.com ΠΌΠ΅Π΄ΠΈΠ°Π½Π° 8.8s, Π° 75 Percentile 9.4s (Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ тСстС).
И ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСбольшоС лиричСскоС отступлСниС.

ЛиричСскоС отступлСниС

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° сайт www.semrushchina.cn, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рСзолвится Ρ‡Π΅Ρ€Π΅Π· β€œΠ±Ρ‹ΡΡ‚Ρ€Ρ‹Π΅β€ китайскиС DNS-сСрвСры, HTTP-запрос ΠΈΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· нашС быстроС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. ΠžΡ‚Π²Π΅Ρ‚ возвращаСтся ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡƒΡ‚ΠΈ, Π½ΠΎ Π²ΠΎ всСх JS-скриптах, HTML-страницах ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… элСмСнтах вэб-страницы ΡƒΠΊΠ°Π·Π°Π½ Π΄ΠΎΠΌΠ΅Π½ semrush.com для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΏΡ€ΠΈ отрисовкС страницы. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ‚ β€œΠ³Π»Π°Π²Π½ΡƒΡŽβ€ А-запись www.semrushchina.cn ΠΈ ΠΈΠ΄Π΅Ρ‚ Π² быстрый Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ, быстро ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ response β€” HTML-страницу, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ΠΎ:

  • скачай Ρ‚Π°ΠΊΠΎΠΉ-Ρ‚ΠΎ js с sso.semrush.com,
  • CSS Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π±Π΅Ρ€ΠΈ с cdn.semrush.com,
  • ΠΈ Π΅Ρ‰Π΅ возьми ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ с dab.semrush.com
  • ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π²ΠΎ β€œΠ²Π½Π΅ΡˆΠ½ΠΈΠΉβ€ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ Π·Π° этими рСсурсами, проходя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠΆΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ врСмя ΠΎΡ‚Π²Π΅Ρ‚Π° Ρ„Π°Π΅Ρ€Π²ΠΎΠ».

Но Π½Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ тСстС прСдставлСны Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π½Π° страницС Π½Π΅Ρ‚ рСсурсов semrush.com, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ semrushchina.cn, Π° *.semrushchina.cn рСзволвится Π² адрСс Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ Π² Π¨Π΅Π½ΡŒΡ‡ΠΆΠ΅Π½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΌ Π² Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ.

Волько Ρ‚Π°ΠΊ, ΠΏΠΎ максимуму закидывая вСсь Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‡Π΅Ρ€Π΅Π· своС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ быстрого ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° китайского Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹Π΅ скорости ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ доступности сайта, Π° Ρ‚Π°ΠΊΠΆΠ΅ чСстныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстов Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
ΠœΡ‹ сдСлали это Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠΈ ΠΊΠΎΠ΄Π° Π½Π° сторонС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄.

Subfilter

РСшСниС Ρ€ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ практичСски сразу послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всплыла данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Нам Π±Ρ‹Π» Π½ΡƒΠΆΠ΅Π½ PoC (Proof of Concept), Ρ‡Ρ‚ΠΎ наши Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎ максимуму Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ вСсь Ρ‚Ρ€Π°Ρ„ΠΈΠΊ сайта Π² это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. И ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ subfilter Π² nginx.

Subfilter β€” это довольно простой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² nginx, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку Π² Ρ‚Π΅Π»Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ строку. Π’ΠΎΡ‚ ΠΌΡ‹ ΠΈ помСняли всС вхоТдСния semrush.com Π½Π° semrushchina.cn Π²ΠΎ всСх ΠΎΡ‚Π²Π΅Ρ‚Π°Ρ….

Π˜β€¦ это Π½Π΅ сработало, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΡ‚ бэкэндов ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π»ΠΈ сТатый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, соотвСтствСнно subfilter Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ» Π½ΡƒΠΆΠ½ΡƒΡŽ строку. ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ server Π² nginx, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·ΠΆΠΈΠΌΠ°Π» ΠΎΡ‚Π²Π΅Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π» Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ сСрвСру, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ занимался ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΎΠΉ строки, сТатиСм ΠΈ ΠΎΡ‚Π΄Π°Ρ‡Π΅ΠΉ Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ прокси-сСрвСру.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, Π³Π΄Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» <subdomain>.semrush.com, ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» <subdomain>.semrushchina.cn ΠΈ ΠΏΠΎΡΠ»ΡƒΡˆΠ½ΠΎ шСл Ρ‡Π΅Ρ€Π΅Π· нашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Однако нСдостаточно просто ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ Π² ΠΎΠ΄Π½Ρƒ сторону, вСдь бэкэнды всС Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ semrush.com Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… запросах ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. БоотвСтствСнно, Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ сСрвСрС, Π³Π΄Π΅ дСлаСтся Π·Π°ΠΌΠ΅Π½Π° Π² ΠΎΠ΄Π½Ρƒ сторону, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠ³ΠΎ рСгулярного выраТСния ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ· запроса, Π° дальшС Π΄Π΅Π»Π°Π΅ΠΌ proxy_pass с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $host, выставлСнной Π² $subdomain.semrush.com. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π·Π°ΠΏΡƒΡ‚Π°Π½Π½ΠΎ, Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. И Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, просто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ свои server-Π±Π»ΠΎΠΊΠΈ ΠΈ дСлаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ конфигурация. НиТС прСдставлСны ΡƒΠΊΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹Π΅ nginx ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ для наглядности ΠΈ дСмонстрации этой схСмы.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС запросы ΠΈΠ· ΠšΠΈΡ‚Π°Ρ Π½Π° .semrushchina.cn:

    listen 80;

    server_name ~^(?<subdomain>[w-]+).semrushchina.cn$;

    sub_filter '.semrush.com' '.semrushchina.cn';
    sub_filter_last_modified on;
    sub_filter_once off;
    sub_filter_types *;

    gzip on;
    gzip_proxied any;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

    location / {
        proxy_pass http://127.0.0.1:8083;
        proxy_set_header Accept-Encoding "";
        proxy_set_header Host $subdomain.semrush.com;
        proxy_set_header X-Accept-Encoding $http_accept_encoding;
    }
}

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ проксируСт Π½Π° localhost Π½Π° 83 ΠΏΠΎΡ€Ρ‚, Π° Ρ‚Π°ΠΌ ΠΏΠΎΠ΄ΠΆΠΈΠ΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³:

    listen 127.0.0.1:8083;

    server_name *.semrush.com;

    location / {
        resolver 8.8.8.8 ipv6=off;
        gunzip on;
        proxy_pass https://$host;
        proxy_set_header Accept-Encoding gzip;
    }
}

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ, это ΠΎΠ±Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ. ΠœΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ слоТным, Π½ΠΎ это Π½Π° словах. На Π΄Π΅Π»Π΅ всС ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠ°Ρ€Π΅Π½ΠΎΠΉ Ρ€Π΅ΠΏΡ‹ πŸ™‚

ΠšΠΎΠ½Π΅Ρ† лиричСского отступлСния

КакоС-Ρ‚ΠΎ врСмя ΠΌΡ‹ Π±Ρ‹Π»ΠΈ счастливы, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠΈΡ„ ΠΎ ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… IPSEC-туннСлях Π½Π΅ подтвСрдился. Но ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠ°Π΄Π°Ρ‚ΡŒ. НСсколько Ρ€Π°Π· Π² сутки ΠΏΠΎ нСсколько ΠΌΠΈΠ½ΡƒΡ‚. НСмного, Π½ΠΎ нас это Π½Π΅ устраивало. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Π° туннСля Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° сторонС Ali Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Ρ€ΠΎΡƒΡ‚Π΅Ρ€Π΅, ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ бэкапный Ρ€Π΅Π³ΠΈΠΎΠ½.

Подняли. Π’ΡƒΠ½Π½Π΅Π»ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠ°Π΄Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½ΠΎΠ΅ врСмя, Π½ΠΎ Ρƒ нас прСкрасно ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π» Ρ„Π΅ΠΉΠ»ΠΎΠ²Π΅Ρ€ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ upstream Π² nginx. Но ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈ Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠ°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ πŸ™‚ И снова Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ 502 ΠΈ 504. Uptime стал ΡƒΡ…ΡƒΠ΄ΡˆΠ°Ρ‚ΡŒΡΡ, поэтому ΠΌΡ‹ стали ΠΏΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с Alibaba CEN (Cloud Enterprise Network).

CEN

CEN β€” это ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ Π΄Π²ΡƒΡ… VPC ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Alibaba Cloud, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Π΅ сСти Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±Π»Π°ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ собой. И Ρ‡Ρ‚ΠΎ самоС Π³Π»Π°Π²Π½ΠΎΠ΅: Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π΅ΡΡ‚ΡŒ довольно строгий SLA. Он ΠΎΡ‡Π΅Π½ΡŒ стабилСн ΠΊΠ°ΠΊ ΠΏΠΎ скорости, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ uptime. Но Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ всё Ρ‚Π°ΠΊ просто:

  • Π΅Π³ΠΎ ΠžΠ§Π•ΠΠ¬ нСпросто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Ссли Π²Ρ‹ Π½Π΅ китайскиС Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΡŽΡ€Π»ΠΈΡ†Π°,
  • ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π·Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠ΅Π³Π°Π±ΠΈΡ‚ пропускной способности ΠΊΠ°Π½Π°Π»Π°.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Mainland China ΠΈ Overseas, ΠΌΡ‹ создали CEN ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌΠΈ Ali: cn-shenzhen ΠΈ us-east-1 (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΊ us-east4). Π’ Ali us-east-1 подняли Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ hop.

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‚Π°ΠΊ:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… тСстов Π½ΠΈΠΆΠ΅:

РСшСниС
Uptime
Median
75 Percentile
95 Percentile

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Ρƒ IPSEC. Но Ρ‡Π΅Ρ€Π΅Π· IPSEC ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 100 ΠΌΠ±ΠΈΡ‚/c, Π° Ρ‡Π΅Ρ€Π΅Π· CEN Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 5 ΠΌΠ±ΠΈΡ‚/c ΠΈ Π΄ΠΎΡ€ΠΎΠΆΠ΅.

ΠΠ°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π³ΠΈΠ±Ρ€ΠΈΠ΄, Π΄Π°? Π‘ΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ IPSEC ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ CEN.

Π’Π°ΠΊ ΠΌΡ‹ ΠΈ поступили, пустив Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· IPSEC, Ρ‚Π°ΠΊ ΠΈ Ρ‡Π΅Ρ€Π΅Π· CEN Π² случаС падСния IPSEC-туннСля. Uptime стал Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ высоким, Π½ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта ΠΏΠΎΠΊΠ° оставляла ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ. Π’ΠΎΠ³Π΄Π° я нарисовал всС схСмы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΆΠ΅ использовали ΠΈ тСстировали, ΠΈ Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² эту схСму Π΅Ρ‰Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ GCP, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ GLB.

GLB

GLB β€” это Global Load Balancer (ΠΈΠ»ΠΈ Google Cloud Load Balancer). Он ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²Π°ΠΆΠ½Ρ‹ΠΌ для нас прСимущСством: Π² контСкстС CDN Ρƒ Π½Π΅Π³ΠΎ anycast IP, Ρ‡Ρ‚ΠΎ позволяСт Ρ€ΠΎΡƒΡ‚ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π² блиТайший ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π΄Π°Ρ‚Π°Ρ†Π΅Π½Ρ‚Ρ€, благодаря Ρ‡Π΅ΠΌΡƒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ быстрСС ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ Google ΠΈ мСньшС ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ β€œΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒβ€ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.

НСдолго думая, ΠΌΡ‹ подняли HTTP/HTTPS LB Π² GCP ΠΈ бэкэндом поставили наши Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ с subfilter.

Π‘Ρ‹Π»ΠΎ нСсколько схСм:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Cloudflare China Network, Π½ΠΎ Π² этот Ρ€Π°Π· Origin’ом ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ IP GLB.
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² cn-shenzhen, Π° ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ сразу Π² GLB.
  • Π˜Π΄Ρ‚ΠΈ сразу ΠΈΠ· ΠšΠΈΡ‚Π°Ρ Π² GLB.
  • Π’Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² cn-shenzhen, ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² asia-east1 Ρ‡Π΅Ρ€Π΅Π· IPSEC (Π² us-east4 Ρ‡Π΅Ρ€Π΅Π· CEN), ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΡƒΠΆΠ΅ ΠΈΠ΄Ρ‚ΠΈ Π² GLB (спокойно, Π²Π½ΠΈΠ·Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΈ объяснСниС)

ΠœΡ‹ протСстировали всС эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈ Π΅Ρ‰Π΅ нСсколько Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹Ρ…:

  • Cloudflare + GLB

Π­Ρ‚Π° схСма Π½Π΅ устроила нас ΠΏΠΎ uptime ΠΈ DNS-ошибкам. Но тСст ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈ Π΄ΠΎ фикса Π±Π°Π³Π° со стороны CF, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, сСйчас стало Π»ΡƒΡ‡ΡˆΠ΅ (ΠΎΠ΄Π½Π°ΠΊΠΎ, это Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ HTTP-Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹).

  • Ali + GLB

Вакая схСма Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ устроила нас ΠΏΠΎ uptime, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ GLB часто Π²Ρ‹ΠΏΠ°Π΄Π°Π» ΠΈΠ· апстрима ΠΈΠ·-Π·Π° нСвозмоТности ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚Π° Π² ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°, вСдь для сСрвСра Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠšΠΈΡ‚Π°Ρ адрСс GLB Ρ‚Π°ΠΊ ΠΈ остаСтся снаруТи, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π·Π° китайским Ρ„Π°Π΅Ρ€Π²ΠΎΠ»ΠΎΠΌ. Магии Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

  • GLB only

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅ΠΌ Π½Π΅ использовались сСрвСры Π² самом ΠšΠΈΡ‚Π°Π΅: Ρ‚Ρ€Π°Ρ„ΠΈΠΊ шСл сразу Π² GLB (помСняли DNS-записи). БоотвСтствСнно, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π΅ устроили, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… китайских ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ…ΡΡ услугами ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², ситуация с ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°Π΅Ρ€Π²ΠΎΠ»Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Ρƒ Ali Cloud.

  • Shenzhen -> (CEN/IPSEC) -> Proxy -> GLB

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ самоС Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ всСх Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ:

  • ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ SLA ΠΎΡ‚ CEN
  • Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ IPSEC
  • β€œΠ±Ρ‹ΡΡ‚Ρ€ΡƒΡŽβ€ ΡΠ΅Ρ‚ΡŒ Π³ΡƒΠ³Π»Π° ΠΈ Π΅Π³ΠΎ anycast.

Π‘Ρ…Π΅ΠΌΠ° выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ΅ Π² ch-shenzhen. Π’Π°ΠΌ настроСны апстримы nginx, Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ссылаСтся Π½Π° частныС IP-сСрвСров, находящихся Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΊΠΎΠ½Ρ†Π΅ IPSEC-туннСля, Π° Ρ‡Π°ΡΡ‚ΡŒ апстримов β€” Π½Π° частныС адрСса сСрвСров Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сторонС CEN. IPSEC настраивался Π΄ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π° asia-east1 Π² GCP (Π±Ρ‹Π» блиТайший Ρ€Π΅Π³ΠΈΠΎΠ½ ΠΊ ΠšΠΈΡ‚Π°ΡŽ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. БСйчас Ρƒ GCP Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ присутствиС Π² Π“ΠΎΠ½ΠΊΠΎΠ½Π³Π΅). CEN β€” Π΄ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π° us-east1 Π² Ali Cloud.

Π”Π°Π»Π΅Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠ½Ρ†ΠΎΠ² направлялся Π½Π° anycast IP GLB, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡˆΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ присутствия Π³ΡƒΠ³Π»Π°, ΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΠ» ΠΏΠΎ Π΅Π³ΠΎ сСтям Π² Ρ€Π΅Π³ΠΈΠΎΠ½ us-east4 Π² GCP, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ стояли ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠΈ (с subfilter Π² nginx).

Π­Ρ‚ΠΎ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π’ Ρ†Π΅Π»ΠΎΠΌ, Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· быстрый IPSEC, Π½ΠΎ Ссли Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΌΡ‹ быстро ΠΈ Π½Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚ Π²Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅ΠΌ эти сСрвСра ΠΈΠ· апстримов ΠΈ шлСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· CEN, ΠΏΠΎΠΊΠ° Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π½Π΅ стабилизируСтся.

Π’Π½Π΅Π΄Ρ€ΠΈΠ² 4-Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ· списка Π²Ρ‹ΡˆΠ΅, ΠΌΡ‹ достигли Ρ‚ΠΎΠ³ΠΎ, Ρ‡Π΅Π³ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, ΠΈ Ρ‡Π΅Π³ΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π» ΠΎΡ‚ нас бизнСс Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… тСстов для Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² сравнСнии с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ:

РСшСниС
Uptime
Median
75 Percentile
95 Percentile

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

CEN/IPsec + GLB
99.79
13s
16s
25s

CDN

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

И ΠΎΠ± этом я расскаТу Π²Π°ΠΌ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ, Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части πŸ™‚

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