Mar a bhriseamar trí Bhalla Dóiteáin Mór na Síne (Cuid 2)

Dia duit!

Tá Nikita in éineacht leat arís, innealtóir córais ón gcuideachta SEMrush. Agus leis an alt seo leanaim leis an scéal faoi conas a tháinig muid suas le réiteach réitigh Balla Dóiteáin na Síne dár seirbhís semrush.com.

В chuid roimhe Dúirt mé:

  • cad iad na fadhbanna a thagann chun cinn tar éis an cinneadh a dhéanamh “Ní mór dúinn ár seirbhís a chur ag obair sa tSín”
  • Cad iad na fadhbanna atá ag Idirlíon na Síne?
  • cén fáth a bhfuil ceadúnas ICP ag teastáil uait?
  • conas agus cén fáth a shocraigh muid ár leapacha tástála a thástáil le Catchpoint
  • cad a bhí mar thoradh ar ár gcéad réiteach bunaithe ar Cloudflare China Network
  • Conas a fuaireamar fabht i Cloudflare DNS

Is í an chuid seo an ceann is suimiúla, i mo thuairim, toisc go ndíríonn sé ar fheidhmiúcháin theicniúla ar leith stáitse. Agus cuirfimid tús, nó in áit leanúint ar aghaidh, le Alibaba Cloud.

Alibaba Cloud

Alibaba Cloud is soláthraí scamall sách mór é, a bhfuil na seirbhísí go léir aige a ligeann dó soláthraí néil a ghlaoch go hionraic air féin. Is maith an rud é go bhfuil an deis acu clárú le haghaidh úsáideoirí eachtracha, agus go n-aistrítear an chuid is mó den láithreán go Béarla (don tSín is só é seo). Sa scamall seo, is féidir leat oibriú le go leor réigiún ar fud an domhain, mórthír na Síne, chomh maith leis an Áise Aigéanach (Hong Cong, Taiwan, etc.).

IPSEC

Thosaigh muid le tíreolaíocht. Ós rud é go raibh ár suíomh tástála suite ar Google Cloud, bhí orainn Alibaba Cloud a “nasc” le GCP, agus mar sin d’oscail muid liosta láithreacha ina bhfuil Google i láthair. Ag an nóiméad sin ní raibh a n-ionad sonraí féin acu i Hong Cong fós.
An réigiún is gaire iompaigh amach a bheith Áise-thoir1 (Téaváin). Bhí Ali ar an réigiún is gaire don Téaváin ar mhórthír na Síne cn-Shenzhen (Shenzhen).

Le terraform cur síos agus d’ardaigh sé an bonneagar iomlán in GCP agus Ali. Chuaigh tollán 100 Mbit/s idir na scamaill suas beagnach láithreach. Ar thaobh Shenzhen agus Taiwan, ardaíodh meaisíní fíorúla seachfhreastalaí. I Shenzhen, déantar trácht úsáideora a fhoirceannadh, a sheachbhóthar trí thollán go Taiwan, agus as sin téann sé go díreach chuig IP seachtrach ár seirbhíse i us-oirthear (USA East Coast). Ping idir meaisíní fíorúla tríd an tollán 24ms, nach bhfuil chomh dona.

Ag an am céanna, chuireamar limistéar tástála isteach Alibaba Cloud DNS. Tar éis an crios a tharmligean chuig NS Ali, laghdaigh an t-am réitigh ó 470 ms go 50 ms. Roimhe seo, bhí an crios ar Cloudlfare freisin.

Comhthreomhar leis an tollán a Áise-thoir1 ardaigh tollán eile ó Shenzhen go díreach chuig us-oir4. Chruthaigh siad níos mó meaisíní fíorúla seachfhreastalaí ansin agus thosaigh siad ag tástáil an dá réiteach, ag ródú tráchta tástála ag baint úsáide as Fianáin nó DNS. Déantar cur síos scéimreach ar an mbinse tástála san fhigiúr seo a leanas:

Ba mar seo a leanas a bhí an fhoighne do tholláin:
Ali cn-Shenzhen <-> GCP asia-east1 — 24ms
Ali cn-Shenzhen <-> GCP us-east4 - 200ms

Thuairiscigh tástálacha brabhsálaí Catchpoint feabhas iontach.

Déan comparáid idir torthaí tástála do dhá réiteach:

cinneadh
Aga fónaimh
Meánach
75 Peircintíl
95 Peircintíl

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

Is sonraí é seo ó réiteach a úsáideann tollán IPSEC via Áise-thoir1. Trína soir4 bhí na torthaí níos measa, agus bhí níos mó earráidí ann, mar sin ní thabharfaidh mé na torthaí.

Bunaithe ar thorthaí na tástála seo ar dhá thollán, a bhfuil ceann acu foirceanta sa réigiún is gaire don tSín, agus an ceann eile ag an gceann scríbe, ba léir go bhfuil sé tábhachtach “teacht chun cinn” ó bhalla dóiteáin na Síne chomh tapa agus is féidir. is féidir, agus ansin úsáid a bhaint as líonraí tapa (soláthraithe CDN , soláthraithe scamall, etc.). Níl aon ghá chun iarracht a dhéanamh dul tríd an balla dóiteáin agus a fháil go dtí do cheann scríbe i swoop thit amháin. Ní hé seo an bealach is tapúla.

Go ginearálta, níl na torthaí dona, áfach, tá airmheán 8.8s, agus 75 Peircintíl 9.4s (ar an tástáil chéanna) ag semrush.com.
Agus sula dtéann mé ar aghaidh, ba mhaith liom digression gearr lyrical a dhéanamh.

Díleá liriceach

Tar éis don úsáideoir dul isteach ar an suíomh www.semrushchina.cn, a réitíonn trí fhreastalaithe DNS Sínis “tapa”, téann an t-iarratas HTTP tríd ár réiteach tapa. Seoltar an freagra ar ais ar an gcosán céanna, ach tá an fearann ​​sonraithe i ngach script JS, leathanach HTML agus gnéithe eile den leathanach Gréasáin semrush.com le haghaidh acmhainní breise nach mór a luchtú nuair a bheidh an leathanach rindreáilte. Is é sin, réitíonn an cliant an “príomhthaifead” A www.semrushchina.cn agus téann sé isteach sa tollán tapa, faigheann sé freagra go tapa - leathanach HTML a deir:

  • íoslódáil a leithéid de js ó sso.semrush.com,
  • Faigh na comhaid CSS ó cdn.semrush.com,
  • agus freisin roinnt pictiúr a ghlacadh ó dab.semrush.com
  • agus mar sin de.

Tosaíonn an brabhsálaí ag dul go dtí an Idirlíon “seachtrach” le haghaidh na n-acmhainní seo, gach uair ag dul trí bhalla dóiteáin a ídíonn am freagartha.

Ach léiríonn an tástáil roimhe seo na torthaí nuair nach bhfuil aon acmhainní ar an leathanach semrush.comamháin semrushchina.cn, agus réitíonn *.semrushchina.cn seoladh an mheaisín fíorúil i Shenzhen chun dul isteach sa tollán ansin.

Is ar an mbealach seo amháin, trí gach trácht féideartha a bhrú trí do réiteach chun balla dóiteáin na Síne a rith go tapa, an féidir leat luasanna inghlactha agus táscairí infhaighteachta láithreán gréasáin a fháil, chomh maith le torthaí macánta tástálacha réitigh.
Rinneamar é seo gan eagarthóireacht cód amháin ar thaobh táirge na foirne.

Fo-scagaire

Rugadh an réiteach beagnach díreach tar éis don fhadhb seo teacht chun cinn. Bhí gá againn PoC (Cruthúnas Coincheap) go n-oibríonn ár réitigh treá balla dóiteáin go maith i ndáiríre. Chun seo a dhéanamh, ní mór duit trácht an tsuímh go léir a fhilleadh isteach sa réiteach seo oiread agus is féidir. Agus chuireamar i bhfeidhm fo-scagaire i nginx.

Fo-scagaire Is modúl simplí go leor i nginx é a ligeann duit líne amháin sa chomhlacht freagartha a athrú go líne eile. Mar sin d'athraigh muid gach teagmhas semrush.com ar semrushchina.cn i ngach freagra.

Agus... níor oibrigh sé toisc go bhfuaireamar ábhar comhbhrúite ó na hinnill, mar sin níor aimsigh an fo-scagaire an líne riachtanach. Bhí orm freastalaí áitiúil eile a chur le nginx, rud a dhí-chomhbhrúigh an freagra agus a chuir ar aghaidh chuig an gcéad fhreastalaí áitiúil eile é, a bhí gnóthach cheana féin ag athsholáthar an teaghráin, á chomhbhrú, agus á sheoladh chuig an gcéad seachfhreastalaí eile sa slabhra.

Mar thoradh air sin, cá bhfaigheadh ​​an cliant .semrush.com, fuair sé .semrushchina.cn agus obediently shiúil tríd ár gcinneadh.

Mar sin féin, ní leor an fearann ​​​​a athrú go simplí ar bhealach amháin, toisc go bhfuil na haiséil fós ag súil le semrush.com in iarratais ina dhiaidh sin ón gcliant. Dá réir sin, ar an bhfreastalaí céanna ina ndéantar an t-athsholáthar aon-bhealach, ag baint úsáide as slonn simplí rialta faigheann muid an fofhearann ​​ón iarratas, agus ansin déanaimid seachfhreastalaí_pas le athróg $óstach, ar taispeáint i $subdomain.semrush.com. Féadfaidh sé cosúil go mearbhall, ach oibríonn sé. Agus oibríonn sé go maith. Maidir le fearainn aonair a dteastaíonn loighic dhifriúil uathu, ní gá ach do bhlocanna freastalaí féin a chruthú agus cumraíocht ar leith a dhéanamh. Anseo thíos tá cumraíochtaí nginx giorraithe chun an scéim seo a shoiléiriú agus a léiriú.

Próiseálann an config seo a leanas gach iarratas ón tSín go .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;
    }
}

Seo seachfhreastalaí cumraíochta do localhost chuig port 83, agus tá an cumraíocht seo a leanas ag fanacht ann:

    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;
    }
}

Arís mé, is configs cropped iad seo.

Mar sin. Féadfaidh sé breathnú casta, ach tá sé i bhfocail. Go deimhin, tá gach rud níos simplí ná tornapaí steamed :)

Deireadh leis an digression

Ar feadh tamaill bhíomar sásta mar níor deimhníodh an miotas faoi thitim tholláin IPSEC. Ach ansin thosaigh na tolláin ag titim. Cúpla uair sa lá ar feadh cúpla nóiméad. Beagán, ach ní raibh sé sin oiriúnach dúinn. Ós rud é gur cuireadh deireadh leis an dá thollán ar thaobh Ali ar an ródaire céanna, shocraigh muid b'fhéidir gur fadhb réigiúnach é seo agus go gcaithfimid an réigiún cúltaca a ardú.

Phioc siad suas é. Thosaigh na tolláin ag teip ag amanna éagsúla, ach d'oibrigh an teip go breá dúinn ag an leibhéal in aghaidh an tsrutha i nginx. Ach ansin thosaigh na tolláin ag titim thart ar an am céanna 🙂 Agus thosaigh 502 agus 504 arís. Thosaigh Uptime ag dul in olcas, agus mar sin thosaigh muid ag obair ar an rogha le Alibaba CEN (Cloud Enterprise Network).

CEN

CEN - is é seo nascacht dhá VPC ó réigiúin éagsúla laistigh de Alibaba Cloud, is é sin, is féidir leat líonraí príobháideacha aon réigiúin laistigh den scamall a nascadh lena chéile. Agus is tábhachtaí: tá an cainéal seo sách dian CLS. Tá sé an-cobhsaí i luas agus Aga fónaimh. Ach níl sé riamh chomh simplí sin:

  • tá sé AN-deacair é a fháil mura saoránaigh Síneacha nó eintiteas dlíthiúil tú,
  • Ní mór duit íoc as gach meigeavata de bhandaleithead cainéal.

Ag an deis chun nascadh Mórthír na Síne и Thar Lear, chruthaíomar CEN idir dhá réigiún Ali: cn-Shenzhen и us-oirthear-1 (pointe is gaire dúinn-soir4). In Ali us-oirthear-1 ardaigh meaisín fíorúil eile ionas go mbeidh ceann amháin eile ann hop.

Tharla sé mar seo:

Tá torthaí tástála an bhrabhsálaí thíos:

cinneadh
Aga fónaimh
Meánach
75 Peircintíl
95 Peircintíl

Cloudflare
86.6
18s
30s
60s

IPsec
99.79
18s
21s
30s

CEN
99.75
16s
21s
27s

Tá an fheidhmíocht beagán níos fearr ná IPSEC. Ach trí IPSEC is féidir leat a íoslódáil féideartha ag luas 100 Mbit/s, agus trí CEN amháin ag luas 5 Mbit/s agus níos mó.

Fuaimeanna cosúil le hibrideach, ceart? Comhcheangail luas IPSEC agus cobhsaíocht CEN.

Is é seo a rinneamar, rud a cheadaigh trácht trí IPSEC agus CEN araon i gcás chliseadh thollán IPSEC. Tá Aga fónaimh tar éis éirí i bhfad níos airde, ach fágann luas luchtaithe an tsuímh go leor le bheith inmhianaithe. Ansin tharraing mé na ciorcaid go léir a d’úsáideamar agus a tástáladh cheana féin, agus chinn mé iarracht a dhéanamh beagán níos mó GCP a chur leis an gciorcad seo, eadhon caipín.

caipín

caipín - An bhfuil Cothromóir Ualach Domhanda (nó Google Cloud Load Balancer). Tá buntáiste tábhachtach aige dúinne: i gcomhthéacs CDN atá aige IP ar bith, a ligeann duit trácht a threorú chuig an ionad sonraí is gaire don chliant, ionas go dtéann an trácht isteach go tapa ar líonra tapa Google agus go dtéann níos lú tríd an Idirlíon “rialta”.

Gan smaoineamh faoi dhó, d'ardaigh muid HTTP/HTTPS LB Shuiteálamar ár meaisíní fíorúla le fo-scagaire i GCP agus mar inneall.

Bhí roinnt scéimeanna ann:

  • Úsáid Líonra tSín Cloudflare, ach an uair seo ba cheart go sonródh Bunús domhanda IP GLB.
  • Deireadh a chur le cliaint ag cn-Shenzhen, agus as sin seachfhreastalaí díreach chuig caipín.
  • Téigh díreach ón tSín go caipín.
  • Deireadh a chur le cliaint ag cn-Shenzhen, as sin seachfhreastalaí go Áise-thoir1 trí IPSEC (in us-oir4 via CEN), as sin téigh go dtí GLB (go socair, beidh pictiúr agus míniú thíos)

Thástáil muid na roghanna seo go léir agus roinnt cinn hibrideacha eile:

  • Cloudflare + GLB

Ní raibh an scéim seo oiriúnach dúinn mar gheall ar earráidí Aga fónaimh agus DNS. Ach rinneadh an tástáil sular socraíodh an fabht ar thaobh an CF, b'fhéidir go bhfuil sé níos fearr anois (ach ní chuireann sé seo teorainn ama HTTP as an áireamh).

  • Ali + GLB

Ní raibh an scéim seo oiriúnach dúinn freisin ó thaobh aga fónaimh de, toisc gur minic a thit GLB as an sruth in aghaidh an tsrutha mar gheall ar an dodhéanta nascadh laistigh de thréimhse ama inghlactha, mar gheall ar fhreastalaí taobh istigh den tSín, tá an seoladh GLB fós lasmuigh, agus mar sin taobh thiar den balla dóiteáin Sínis. Níor tharla an draíocht.

  • GLB amháin

Rogha cosúil leis an gceann roimhe seo, ach níor bhain sé úsáid as freastalaithe sa tSín féin: chuaigh an trácht go díreach chuig GLB (athraíodh na taifid DNS). Dá réir sin, ní raibh na torthaí sásúil, ós rud é go bhfuil staid i bhfad níos measa ag gnáthchliant Síneach a úsáideann seirbhísí soláthraithe Idirlín gnáth agus an balla dóiteáin a rith ná Ali Cloud.

  • Shenzhen -> (CEN/IPSEC) -> Seachfhreastalaí -> GLB

Anseo shocraigh muid na réitigh is fearr ar fad a úsáid:

  • cobhsaíocht agus SLA ráthaithe ó CEN
  • ardluais ó IPSEC
  • Líonra “tapa” Google agus a chraoladh ar bith.

Breathnaíonn an scéim rud éigin mar seo: cuirtear deireadh le trácht úsáideora ar mheaisín fíorúil i ch-Shenzhen. Tá sruthanna in aghaidh Nginx cumraithe ansin, agus léiríonn cuid acu freastalaithe IP príobháideacha atá suite ag an taobh eile de thollán IPSEC, agus díríonn roinnt sruthanna in aghaidh srutha seoltaí príobháideacha freastalaithe ar an taobh eile den CEN. IPSEC cumraithe don réigiún Áise-thoir1 i GCP (an réigiún is gaire don tSín ag an am a cruthaíodh an réiteach. Tá láithreacht ag GCP i Hong Cong anois freisin). CEN - go dtí an réigiún us-oir1 in Ali Cloud.

Ansin díríodh trácht ón dá cheann go dtí anycast IP GLB, is é sin, go dtí an pointe is gaire láithreacht Google, agus chuaigh sé trína líonraí go dtí an réigiún us-oir4 i GCP, ina raibh meaisíní fíorúla athsholáthair (le fo-scagaire i nginx).

Bhain an réiteach hibrideach seo, mar a bhí súil againn, leas as buntáistí gach teicneolaíochta. Go ginearálta, téann an trácht trí IPSEC tapa, ach má thosaíonn fadhbanna, ciceáilimid na freastalaithe seo go tapa agus ar feadh cúpla nóiméad amach as an sruth agus ní sheolaimid trácht ach trí CEN go dtí go gcobhsaíonn an tollán.

Tríd an 4ú réiteach ón liosta thuas a chur i bhfeidhm, bhaineamar amach an méid a theastaigh uainn agus an méid a bhí ag teastáil uainn ag an bpointe ama sin.

Torthaí tástála brabhsálaithe don réiteach nua i gcomparáid leis na cinn roimhe seo:

cinneadh
Aga fónaimh
Meánach
75 Peircintíl
95 Peircintíl

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

Tá gach rud go maith sa réiteach a chuireamar i bhfeidhm, ach níl aon CDN ann a d’fhéadfadh dlús a chur le trácht ag leibhéal réigiúnach agus fiú cathrach. Go teoiriciúil, ba cheart go gcuirfeadh sé seo dlús leis an suíomh d’úsáideoirí deiridh trí úsáid a bhaint as bealaí tapa cumarsáide an tsoláthraí CDN. Agus smaoiníomar air an t-am ar fad. Agus anois, tá an t-am tagtha don chéad atriall eile den tionscadal: soláthraithe CDN sa tSín a chuardach agus a thástáil.

Agus inseoidh mé duit faoi seo sa chéad chuid eile, deiridh :)

Foinse: will.com

Add a comment