Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Salom!
Barcha yaxshi hikoyalar tugaydi. Va bizning Xitoy xavfsizlik devoridan tezda o'tish uchun qanday yechim topganimiz haqidagi hikoyamiz bundan mustasno emas. Shuning uchun men siz bilan oxirgisini baham ko'rishga shoshildim, yakuniy qism Ushbu mavzu bo'yicha.

Oldingi bo'limda biz o'ylab topilgan ko'plab sinov skameykalari va ular qanday natijalar bergani haqida gaplashdik. Va biz nimani qo'shsak yaxshi bo'lishini hal qildik CDN! bizning sxemamizga yopishqoqlik uchun.

Sizga Alibaba Cloud CDN, Tencent Cloud CDN va Akamai’ni qanday sinovdan oβ€˜tkazganimizni va nima bilan yakunlanganimizni aytib beraman. Va, albatta, xulosa qilaylik.

Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Alibaba Cloud CDN

Biz Alibaba Cloud-da joylashganmiz va ulardan IPSEC va CEN-dan foydalanamiz. Avval ularning yechimlarini sinab ko'rish mantiqan to'g'ri bo'lardi.

Alibaba Cloud bizga mos kelishi mumkin bo'lgan ikki turdagi mahsulotga ega: CDN ΠΈ DCDN. Birinchi variant - ma'lum bir domen (subdomain) uchun klassik CDN. Ikkinchi variantni anglatadi CDN uchun dinamik marshrut (Men uni dinamik CDN deb atayman), uni to'liq sayt rejimida yoqish mumkin (joker belgili domenlar uchun), u statik tarkibni keshlaydi va o'zida dinamik tarkibni tezlashtiradi, ya'ni sahifa dinamikasi ham provayder orqali yuklanadi. tez tarmoqlar. Bu biz uchun muhim, chunki bizning saytimiz asosan dinamik, u ko'plab subdomenlardan foydalanadi va "yulduzcha" - *.semrushchina.cn uchun bir marta CDN o'rnatish qulayroqdir.

Biz ushbu mahsulotni Xitoy loyihamizning oldingi bosqichlarida allaqachon ko'rgan edik, ammo keyin u hali ishlamadi va ishlab chiquvchilar mahsulot tez orada barcha mijozlar uchun mavjud bo'lishini va'da qilishdi. Va u shunday qildi.

DCDN-da siz:

  • sertifikatingiz bilan SSL tugatishni sozlang,
  • dinamik tarkibni tezlashtirishni ta'minlash,
  • statik fayllarni keshlashni moslashuvchan tarzda sozlash,
  • keshni tozalash,
  • oldinga veb-rozetkalar,
  • siqishni va hatto HTML Beautifierni yoqish.

Umuman olganda, hamma narsa kattalar va yirik CDN provayderlari bilan bir xil.

Origin (CDN chekka serverlari boradigan joy) ko'rsatilgandan so'ng, havola orqali yulduzcha uchun CNAME yaratish qoladi. all.semrushchina.cn.w.kunluncan.com (bu CNAME Alibaba Cloud konsolida olingan) va CDN ishlaydi.

Sinov natijalariga ko'ra, ushbu CDN bizga ko'p yordam berdi. Statistik ma'lumotlar quyida ko'rsatilgan.

qaror
Uptime
Media
75 foiz
95 foiz

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

Ali CDN + CEN/IPsec + GLB
99.75
10s
12.8s
17.3s

Bu juda yaxshi natijalar, ayniqsa, agar siz ularni boshida bo'lgan raqamlar bilan solishtirsangiz. Ammo biz www.semrush.com veb-saytimizning Amerika versiyasining brauzer sinovi AQShdan o'rtacha 8.3 soniyada (juda taxminiy qiymat) ishlayotganini bilardik. Yaxshilash uchun joy bor. Bundan tashqari, sinov uchun qiziqarli bo'lgan CDN provayderlari ham bor edi.

Shunday qilib, biz muammosiz Xitoy bozoridagi boshqa gigantga o'tamiz - Tencent.

Tencent buluti

Tencent endigina o'zining bulutini rivojlantirmoqda - buni oz sonli mahsulotlardan ko'rish mumkin. Uni ishlatishda biz nafaqat ularning CDN-ni, balki butun tarmoq infratuzilmasini ham sinab ko'rmoqchi edik:

  • ularda CENga o'xshash narsa bormi?
  • IPSEC ular uchun qanday ishlaydi? Tezmi, ish vaqti qancha?
  • ularda Anycast bormi?

Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Keling, bu savollarni alohida ko'rib chiqaylik.

Analog CEN

Tencentning mahsuloti bor Cloud Connect tarmog'i (CCN), turli mintaqalardan, jumladan, Xitoy ichidagi va tashqarisidagi mintaqalardan VPC-larni ulash imkonini beradi. Mahsulot hozir ichki beta-versiyada va siz unga ulanish uchun chipta yaratishingiz kerak. Biz qo'llab-quvvatlashdan bilib oldikki, global hisoblar (biz Xitoy fuqarolari yoki yuridik shaxslari haqida gapirmayapmiz) beta-test dasturida qatnasha olmaydi va umuman, Xitoy ichidagi mintaqani tashqaridagi mintaqa bilan bog'laydi. 1:0 Ali Cloud foydasiga

IPSEC

Tencentning eng janubiy mintaqasi Guanchjou. Biz tunnel yig'dik va uni GCPda Gonkong hududiga uladik (keyin bu hudud allaqachon mavjud bo'lgan edi). Shenzhendan Gonkongga Ali Bulutdagi ikkinchi tunnel ham bir vaqtning o'zida ko'tarildi. Ma'lum bo'lishicha, Tencent tarmog'i orqali Gonkongga kechikish Shenzhendan Gonkongga Aliga (10 ms - nima?) qaraganda odatda yaxshiroq (120 ms) bo'ladi. Ammo bu hech qanday tarzda Tencent va ushbu tunnel orqali ishlashga qaratilgan sayt ishini tezlashtirmadi, bu o'z-o'zidan ajoyib haqiqat edi va yana bir bor quyidagilarni isbotladi: kechikish - Xitoy uchun bu haqiqatan ham arziydigan ko'rsatkich emas. Xitoy xavfsizlik devoridan o'tish uchun echimni ishlab chiqishda e'tibor berish.

Anycast Internet tezlashtirish

Anycast IP orqali ishlashga imkon beruvchi yana bir mahsulot AΓ½a. Ammo u global hisoblar uchun ham mavjud emas, shuning uchun men bu haqda sizga aytmayman, lekin bunday mahsulot mavjudligini bilish foydali bo'lishi mumkin.

Ammo CDN testi juda qiziqarli natijalarni ko'rsatdi. Tencent CDN-ni to'liq saytda yoqish mumkin emas, faqat ma'lum domenlarda. Biz domenlarni yaratdik va ularga trafik yubordik:

Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Ushbu CDN quyidagi funktsiyaga ega ekanligi ma'lum bo'ldi: Chegara o'rtasidagi trafikni optimallashtirish. Trafik Xitoy xavfsizlik devori orqali o'tganda bu xususiyat xarajatlarni kamaytirishi kerak. Sifatda kelib chiqish Google GLB (GLB anycast) IP manzili ko'rsatilgan. Shunday qilib, biz loyiha arxitekturasini soddalashtirishni xohladik.

Natijalar juda yaxshi bo'ldi - Ali Cloud CDN darajasida va ba'zi joylarda undan ham yaxshiroq. Bu hayratlanarli, chunki agar testlar muvaffaqiyatli o'tsa, siz infratuzilma, tunnellar, CEN, virtual mashinalar va boshqalarning muhim qismidan voz kechishingiz mumkin.

Biz uzoq vaqt quvonmadik, chunki muammo aniqlandi: China Mobile Internet-provayderi uchun Catchpoint-dagi testlar muvaffaqiyatsiz tugadi. Har qanday joydan biz Tencent's CDN orqali kutish vaqti oldik. Texnik yordam bilan yozishmalar hech narsaga olib kelmadi. Taxminan bir kun davomida bu muammoni hal qilishga harakat qildik, ammo hech narsa ishlamadi.

Men o'sha paytda Xitoyda edim, lekin muammoni shaxsan tekshirish uchun ushbu provayder tarmog'ida umumiy Wi-Fi topa olmadim. Aks holda, hamma narsa tez va yaxshi ko'rinardi.
Biroq, China Mobile uchta eng yirik operatorlardan biri bo'lganligi sababli, biz Ali CDN ga trafikni qaytarishga majbur bo'ldik.
Ammo umuman olganda, bu muammoni uzoqroq sinovdan o'tkazish va muammolarni bartaraf etishga loyiq bo'lgan juda qiziqarli echim edi.

Akamai

Biz sinovdan o'tkazgan oxirgi CDN provayderi edi Akamai. Bu Xitoyda o'z tarmog'iga ega bo'lgan yirik provayder. Albatta, biz undan o'ta olmadik.

Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Domenni almashtirish va ularning tarmog'ida qanday ishlashini ko'rishimiz uchun biz Akamai bilan boshidanoq sinov muddatiga kelishib oldik. Men barcha test natijalarini "Menga nima yoqdi" va "Menga nima yoqmadi" shaklida tasvirlab beraman va test natijalarini ham beraman.

Menga nima yoqdi:

  • Akamai yigitlari barcha savollarda juda yordam berishdi va testning barcha bosqichlarida bizga hamrohlik qilishdi. Biz doimo o'z tomonimizda nimanidir yaxshilashga harakat qildik. Ular yaxshi texnik maslahatlar berishdi.
  • Akamai Ali Cloud CDN orqali bizning yechimimizdan taxminan 10-15% sekinroq. Ta'sirli tomoni shundaki, Origin for Akamai-da biz GLB IP-manzilini ko'rsatdik, ya'ni trafik bizning yechimimiz orqali o'tmagan (ehtimol biz infratuzilmaning bir qismini tark etishimiz mumkin). Ammo shunga qaramay, test natijalari ushbu yechim bizning joriy versiyamizdan yomonroq ekanligini ko'rsatdi (quyida qiyosiy natijalar).
  • Origin GLB va Origin ham Xitoyda sinovdan o'tkazildi. Ikkala variant ham taxminan bir xil.
  • bor Albatta marshrut (avtomatik marshrutni optimallashtirish). Siz Origin-da sinov ob'ektini joylashtirishingiz mumkin va Akamai Edge serverlari uni olishga harakat qiladi (muntazam GET). Ushbu so'rovlar uchun tezlik va boshqa ko'rsatkichlar o'lchanadi, ular asosida Akamai tarmog'i yo'nalishlarni optimallashtiradi, shunda trafik bizning saytimiz uchun tezroq ketadi va bu xususiyatni yoqish haqiqatan ham sayt tezligiga kuchli ta'sir qilgani aniq edi.
  • Veb-interfeysda konfiguratsiyani versiyalash ajoyib. Versiyalar uchun solishtiring, farqiga qarang. Oldingi versiyalarni ko'rish.
  • Siz yangi versiyani birinchi navbatda faqat Akamai Staging tarmog'ida chiqarishingiz mumkin - ishlab chiqarish bilan bir xil tarmoq, faqat shu tarzda haqiqiy foydalanuvchilarga ta'sir qilmaydi. Ushbu test uchun siz mahalliy kompyuteringizda DNS yozuvlarini aldashingiz kerak.
  • Katta statik fayllar va, ehtimol, boshqa har qanday fayllar uchun o'z tarmog'i orqali juda tez yuklab olish tezligi. "Sovuq" keshdagi fayl Ali CDN-ning "sovuq" keshidan bir xil fayldan ko'p marta tezroq olinadi. "Issiq" keshdan tezlik allaqachon bir xil, ortiqcha yoki minus.

Ali CDN testi:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://en.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0   513k      0 --:--:--  0:00:11 --:--:--  526k
time_namelookup:  0.004286
time_connect:  0.030107
time_appconnect:  0.117525
time_pretransfer:  0.117606
time_redirect:  0.000000
time_starttransfer:  0.840348
----------
time_total:  11.208119
----------
size_download:  5895467 Bytes
speed_download:  525999.000B/s

Akamai testi:

root@shenzhen1:~# curl -o /dev/null -w@curl_time https://www.semrushchina.cn/my_reports/build/scripts/simpleInit.js?v=1551879212
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5757k    0 5757k    0     0  1824k      0 --:--:--  0:00:03 --:--:-- 1825k
time_namelookup:  0.509005
time_connect:  0.528261
time_appconnect:  0.577235
time_pretransfer:  0.577324
time_redirect:  0.000000
time_starttransfer:  1.327013
----------
time_total:  3.154850
----------
size_download:  5895467 Bytes
speed_download:  1868699.000B/s

Yuqoridagi misoldagi vaziyat turli omillarga bog'liqligini payqadik. Ushbu fikrni yozish paytida men yana sinovdan o'tdim. Ikkala platforma uchun natijalar taxminan bir xil edi. Bu bizga Xitoyda Internet, hatto yirik operatorlar va bulutli provayderlar uchun ham vaqti-vaqti bilan boshqacha harakat qilishini aytadi.

Oldingi nuqtaga, men Akamai uchun katta plyus qo'shaman: agar Ali o'xshash yuqori va juda past unumdorlikdagi chaqnashlarni ko'rsatsa (bu Ali CDN, Ali CEN va Ali IPSEC uchun amal qiladi), u holda Akamai har safar, nima bo'lishidan qat'iy nazar ularning tarmog'ini qanday sinab ko'rsam, hamma narsa barqaror ishlaydi.
Akamai Xitoyda juda ko'p qamrovga ega va ko'plab provayderlar orqali ishlaydi.

Menga nima yoqmadi:

  • Menga veb-interfeys va uning ishlash usuli yoqmaydi - bu juda yomon. Lekin, asosan, siz ko'nikasiz (ehtimol).
  • Sinov natijalari bizning saytimizdan ham yomonroq.
  • Sinovlar paytida bizning saytimizga qaraganda ko'proq xatolar mavjud (quyida ish vaqti).
  • Xitoyda bizning DNS serverlarimiz yo'q. Shunday qilib, DNS hal qilish vaqti tugashi sababli testlarda ko'plab xatolar mavjud.
  • Ular o'zlarining IP diapazonlarini taqdim etmaydilar -> to'g'rilarini ro'yxatdan o'tkazishning hech qanday usuli yo'q set_real_ip_from bizning serverlarimizda.

Ko'rsatkichlar (~3626 ta ishga tushirish; Ishlash vaqtidan tashqari barcha ko'rsatkichlar, msda; bir vaqt davri uchun statistika):

CDN provayderi
Media
75%
95%
javob
Veb-sahifaga javob
Uptime
DNS
Ulanish
kutib turing
yuk
SSL

AliCDN
9195
10749
17489
1,715
10,745
99.531
57
17
927
479
200

Akamai
9783
11887
19888
2,352
11,550
98.980
424
91
1408
381
50

Foiz boΚ»yicha taqsimot (ms da):

Percentile
Akamai
AliCDN

10
7,092
6,942

20
7,775
7,583

30
8,446
8,092

40
9,146
8,596

50
9,783
9,195

60
10,497
9,770

70
11,371
10,383

80
12,670
11,255

90
15,882
13,165

100
91,592
91,596

Xulosa shunday: Akamai opsiyasi hayotiy, ammo Ali CDN bilan birgalikda bizning yechimimiz kabi barqarorlik va tezlikni ta'minlamaydi.

Kichik eslatmalar

Ba'zi lahzalar hikoyaga kiritilmagan, lekin men ular haqida ham yozmoqchiman.

Pekin + Tokio va Gonkong

Yuqorida aytganimdek, biz Gonkongga (HK) IPSEC tunnelini sinovdan o'tkazdik. Ammo biz CENni HK ga ham sinab ko'rdik. Bu biroz arzonroq va men masofasi ~ 100 km bo'lgan shaharlar orasida qanday ishlashini qiziqtirgan edim. Qizig'i shundaki, ushbu shaharlar orasidagi kechikish bizning asl versiyamizdan (Tayvanga) 100 ms yuqoriroqdir. Tezlik, barqarorlik Tayvan uchun ham yaxshiroq edi. Natijada biz HK ni zaxira IPSEC hududi sifatida qoldirdik.

Bundan tashqari, biz quyidagi o'rnatishni o'rnatishga harakat qildik:

  • Pekindagi mijozlarni tugatish,
  • IPSEC va CEN Tokioga,
  • Ali CDN da Pekindagi server kelib chiqishi sifatida ko'rsatilgan.

Ushbu sxema unchalik barqaror emas edi, garchi tezlik jihatidan u bizning yechimimizdan kam emas edi. Tunnelga kelsak, men barqaror bo'lishi kerak bo'lgan CEN uchun ham davriy pasayishlarni ko'rdim. Shuning uchun biz eski sxemaga qaytdik va bu sahnalashtirishni demontaj qildik.

Quyida turli kanallar uchun turli mintaqalar orasidagi kechikish statistikasi keltirilgan. Ehtimol, kimdir bunga qiziqadi.

IPsec
Ali cn-beijing <β€”> GCP asia-shimoli-sharqiy1 β€” 193ms
Ali cn-shenzhen <β€”> GCP asia-east2 β€” 91ms
Ali cn-shenzhen <β€”> GCP us-east4 β€” 200ms

CEN
Ali cn-beijing <β€”> Ali ap-shimoli-sharq-1 β€” 54ms (!)
Ali cn-shenzhen <β€”> Ali cn-hongkong β€” 6ms (!)
Ali cn-shenzhen <β€”> Ali us-sharq1 β€” 216ms

Xitoyda Internet haqida umumiy ma'lumot

Maqolaning birinchi qismida tasvirlangan Internet bilan bog'liq muammolarga qo'shimcha sifatida.

  • Xitoyda Internet juda tez.
    • Xulosa ommaviy Wi-Fi tarmoqlarini ushbu tarmoqlardan ko'p odamlar foydalanadigan turli joylarda sinovdan o'tkazish asosida qilingan.
    • Xitoy ichidagi serverlarga yuklab olish va yuklash tezligi mos ravishda taxminan 20 Mbit/s va 5-10 Mbit/s edi.
    • Xitoydan tashqaridagi serverlar tezligi juda kam, 1 Mbit/s dan kam.
  • Xitoyda Internet unchalik barqaror emas.
    • Ba'zida saytlar konfiguratsiya o'zgarmasligi sharti bilan tez, ba'zan sekin (turli kunlarda kunning bir vaqtida) ochilishi mumkin. Biz buni semrushchina.cn misolida kuzatdik. Buni Ali CDN bilan bog'lash mumkin, u ham kunning vaqtiga, yulduzlarning joylashishiga va hokazolarga qarab shunday ishlaydi.
  • Mobil Internet deyarli hamma joyda 4G yoki 4G+. Uni metroda, liftlarda - qisqasi, hamma joyda ushlang.
  • Xitoylik foydalanuvchilar faqat .cn zonasidagi domenlarga ishonishlari haqidagi afsona. Biz buni bevosita foydalanuvchilardan bilib oldik.
    • Qanday qilib ko'rishingiz mumkin http://baidu.cn www.baidu.com saytiga yo'naltirish (materik Xitoyda ham).
  • Ko'pgina resurslar haqiqatan ham bloklangan. Primitiv: google.com, Facebook, Twitter. Ammo ko'pgina Google resurslari ishlaydi (albatta, hamma Wi-Fi-da emas va VPN ishlatilmaydi (yo'riqnoma tomonida ham, bu aniq).
  • Bloklangan korporatsiyalarning ko'plab "texnik" domenlari ham ishlamoqda. Bu shuni anglatadiki, siz har doim ham Google va boshqa bloklangan ko'rinadigan resurslarni ehtiyotkorlik bilan kesib tashlamasligingiz kerak. Siz taqiqlangan domenlar ro'yxatini izlashingiz kerak.
  • Ularda faqat uchta asosiy Internet operatorlari mavjud: China Unicom, China Telecom, China Mobile. Bundan ham kichiklari bor, lekin ularning bozordagi ulushi ahamiyatsiz

Bonus: yakuniy yechim diagrammasi

Buyuk Xitoy xavfsizlik devorini qanday sindirdik (3-qism)

Xulosa

Loyiha boshlanganiga bir yil bo'ldi. Biz saytimiz odatda Xitoydan normal ishlashdan bosh tortganligidan boshladik va shunchaki GET curl 5.5 soniya davom etdi.

Keyin, birinchi yechimdagi ushbu ko'rsatkichlar bilan (Cloudflare):

qaror
Uptime
Media
75 foiz
95 foiz

CloudFlare
86.6
18s
30s
60s

Oxir-oqibat biz quyidagi natijalarga erishdik (oxirgi oy statistikasi):

qaror
Uptime
Media
75 foiz
95 foiz

Ali CDN + CEN/IPsec + GLB
99.86
8.8s
9.5s
13.7s

Ko'rib turganingizdek, biz hali 100% ish vaqtiga erisha olmadik, lekin biz nimadir o'ylab topamiz, keyin esa natijalar haqida yangi maqolada aytib beramiz :)

Uch qismini ham oxirigacha o'qiganlarga hurmat. Umid qilamanki, siz bularning barchasini men qilganimda bo'lgani kabi qiziqarli deb topdingiz.

PS Oldingi qismlar

1 qismi
2 qismi

Manba: www.habr.com

a Izoh qo'shish