మేము గ్రేట్ చైనీస్ ఫైర్‌వాల్‌ను ఎలా అధిగమించాము (పార్ట్ 2)

వందనాలు!

కంపెనీకి చెందిన సిస్టమ్స్ ఇంజనీర్ అయిన నికితా మళ్లీ మీతో ఉన్నారు SEMrush. మరియు ఈ కథనంతో నేను ఒక పరిష్కార పరిష్కారంతో ఎలా ముందుకు వచ్చాము అనే దాని గురించి కథను కొనసాగిస్తాను చైనీస్ ఫైర్‌వాల్ మా సేవ కోసం semrush.com.

В మునుపటి భాగం నేను చెప్పాను:

  • నిర్ణయం తీసుకున్న తర్వాత ఏ సమస్యలు తలెత్తుతాయి "మేము మా సేవను చైనాలో పని చేయాలి"
  • చైనీస్ ఇంటర్నెట్‌లో ఎలాంటి సమస్యలు ఉన్నాయి?
  • మీకు ICP లైసెన్స్ ఎందుకు అవసరం?
  • క్యాచ్‌పాయింట్‌తో మా టెస్ట్‌బెడ్‌లను ఎలా మరియు ఎందుకు పరీక్షించాలని నిర్ణయించుకున్నాము
  • క్లౌడ్‌ఫ్లేర్ చైనా నెట్‌వర్క్ ఆధారంగా మా మొదటి పరిష్కారం యొక్క ఫలితం ఏమిటి
  • మేము Cloudflare DNSలో బగ్‌ని ఎలా కనుగొన్నాము

ఈ భాగం చాలా ఆసక్తికరంగా ఉంది, నా అభిప్రాయం ప్రకారం, ఇది స్టేజింగ్ యొక్క నిర్దిష్ట సాంకేతిక అమలులపై దృష్టి పెడుతుంది. మరియు మేము ప్రారంభిస్తాము లేదా కొనసాగిస్తాము అలిబాబా క్లౌడ్.

అలిబాబా క్లౌడ్

అలిబాబా క్లౌడ్ చాలా పెద్ద క్లౌడ్ ప్రొవైడర్, ఇది నిజాయితీగా క్లౌడ్ ప్రొవైడర్ అని పిలుచుకోవడానికి అనుమతించే అన్ని సేవలను కలిగి ఉంది. వారు విదేశీ వినియోగదారుల కోసం నమోదు చేసుకోవడానికి అవకాశం కలిగి ఉండటం మంచిది, మరియు చాలా సైట్లు ఆంగ్లంలోకి అనువదించబడ్డాయి (చైనా కోసం ఇది విలాసవంతమైనది). ఈ క్లౌడ్‌లో, మీరు ప్రపంచంలోని అనేక ప్రాంతాలు, చైనా ప్రధాన భూభాగం, అలాగే ఓషియానిక్ ఆసియా (హాంకాంగ్, తైవాన్, మొదలైనవి)తో పని చేయవచ్చు.

IPSec

మేము భూగోళశాస్త్రంతో ప్రారంభించాము. మా పరీక్షా సైట్ Google క్లౌడ్‌లో ఉన్నందున, మేము GCPతో అలీబాబా క్లౌడ్‌ను “లింక్” చేయాల్సి ఉంది, కాబట్టి మేము Google ఉన్న స్థానాల జాబితాను తెరిచాము. ఆ సమయంలో వారికి హాంకాంగ్‌లో వారి స్వంత డేటా సెంటర్ లేదు.
సమీప ప్రాంతంగా తేలింది ఆసియా-తూర్పు1 (తైవాన్). అలీ తైవాన్‌కు చైనా ప్రధాన భూభాగానికి సమీప ప్రాంతంగా మారింది cn-shenzhen (షెన్‌జెన్).

సహాయంతో terraform GCP మరియు అలీలో మొత్తం మౌలిక సదుపాయాలను వివరించింది మరియు పెంచింది. మేఘాల మధ్య 100 Mbit/s సొరంగం దాదాపు తక్షణమే పైకి వెళ్లింది. షెన్‌జెన్ మరియు తైవాన్‌ల వైపున, ప్రాక్సీయింగ్ వర్చువల్ మిషన్‌లను పెంచారు. షెన్‌జెన్‌లో, వినియోగదారు ట్రాఫిక్ నిలిపివేయబడింది, తైవాన్‌కు సొరంగం ద్వారా ప్రాక్సీ చేయబడుతుంది మరియు అక్కడి నుండి నేరుగా మా సేవ యొక్క బాహ్య IPకి వెళుతుంది us-తూర్పు (USA ఈస్ట్ కోస్ట్). సొరంగం ద్వారా వర్చువల్ మిషన్ల మధ్య పింగ్ 24ms, ఇది అంత చెడ్డది కాదు.

అదే సమయంలో, మేము ఒక పరీక్ష ప్రాంతాన్ని ఉంచాము అలీబాబా క్లౌడ్ DNS. జోన్‌ను NS అలీకి అప్పగించిన తర్వాత, రిజల్యూషన్ సమయం 470 ms నుండి తగ్గింది 50 ms. దీనికి ముందు, జోన్ క్లౌడ్‌ఫేర్‌లో కూడా ఉంది.

టన్నెల్‌కు సమాంతరంగా ఆసియా-తూర్పు1 షెంజెన్ నుండి నేరుగా మరొక సొరంగాన్ని పెంచింది యుఎస్-ఈస్ట్ 4. అక్కడ వారు మరిన్ని ప్రాక్సీ వర్చువల్ మెషీన్‌లను సృష్టించారు మరియు రెండు పరిష్కారాలను పరీక్షించడం ప్రారంభించారు, కుక్కీలు లేదా DNSని ఉపయోగించి టెస్ట్ ట్రాఫిక్‌ను రూట్ చేస్తారు. పరీక్ష బెంచ్ క్రింది చిత్రంలో క్రమపద్ధతిలో వివరించబడింది:

సొరంగాల కోసం జాప్యం క్రింది విధంగా ఉంది:
అలీ cn-shenzhen <—> GCP ఆసియా-తూర్పు1 — 24ms
అలీ cn-shenzhen <—> GCP us-east4 — 200ms

క్యాచ్‌పాయింట్ బ్రౌజర్ పరీక్షలు అద్భుతమైన మెరుగుదలని నివేదించాయి.

రెండు పరిష్కారాల కోసం పరీక్ష ఫలితాలను సరిపోల్చండి:

నిర్ణయం
సమయ
మధ్యస్థ
75 శాతం
95 శాతం

cloudflare
86.6
18
30
60

IPsec
99.79
18
21
30

ఇది IPSEC టన్నెల్ ద్వారా ఉపయోగించే పరిష్కారం నుండి డేటా ఆసియా-తూర్పు1. us-east4 ద్వారా ఫలితాలు అధ్వాన్నంగా ఉన్నాయి మరియు మరిన్ని లోపాలు ఉన్నాయి, కాబట్టి నేను ఫలితాలను ఇవ్వను.

రెండు సొరంగాల యొక్క ఈ పరీక్ష ఫలితాల ఆధారంగా, వాటిలో ఒకటి చైనాకు దగ్గరగా ఉన్న ప్రాంతంలో మరియు మరొకటి చివరి గమ్యస్థానంలో ముగుస్తుంది, చైనీస్ ఫైర్‌వాల్ కింద నుండి త్వరగా "ఉద్భవించడం" ముఖ్యమని స్పష్టమైంది. సాధ్యం, ఆపై వేగవంతమైన నెట్‌వర్క్‌లను ఉపయోగించండి (CDN ప్రొవైడర్లు , క్లౌడ్ ప్రొవైడర్లు మొదలైనవి). ఫైర్‌వాల్ గుండా వెళ్లి ఒక్కసారిగా మీ గమ్యాన్ని చేరుకోవడానికి ప్రయత్నించాల్సిన అవసరం లేదు. ఇది వేగవంతమైన మార్గం కాదు.

సాధారణంగా, ఫలితాలు చెడ్డవి కావు, అయితే, semrush.com మధ్యస్థం 8.8సె మరియు 75 పర్సంటైల్ 9.4సె (అదే పరీక్షలో).
మరియు ముందుకు వెళ్ళే ముందు, నేను ఒక చిన్న లిరికల్ డైగ్రెషన్ చేయాలనుకుంటున్నాను.

లిరికల్ డైగ్రెషన్

వినియోగదారు సైట్‌లోకి ప్రవేశించిన తర్వాత www.semrushchina.cn, ఇది "వేగవంతమైన" చైనీస్ DNS సర్వర్‌ల ద్వారా పరిష్కరిస్తుంది, HTTP అభ్యర్థన మా వేగవంతమైన పరిష్కారం ద్వారా వెళుతుంది. ప్రతిస్పందన అదే మార్గంలో అందించబడుతుంది, అయితే డొమైన్ అన్ని JS స్క్రిప్ట్‌లు, HTML పేజీలు మరియు వెబ్ పేజీలోని ఇతర అంశాలలో పేర్కొనబడింది semrush.com పేజీని రెండర్ చేసినప్పుడు తప్పనిసరిగా లోడ్ చేయవలసిన అదనపు వనరుల కోసం. అంటే, క్లయింట్ "ప్రధాన" A- రికార్డును పరిష్కరిస్తుంది www.semrushchina.cn మరియు ఫాస్ట్ టన్నెల్‌లోకి వెళ్లి, త్వరగా ప్రతిస్పందనను అందుకుంటుంది - ఒక HTML పేజీ ఇలా పేర్కొంది:

  • sso.semrush.com నుండి అటువంటి మరియు అటువంటి jsని డౌన్‌లోడ్ చేయండి,
  • cdn.semrush.com నుండి CSS ఫైల్‌లను పొందండి,
  • మరియు dab.semrush.com నుండి కొన్ని చిత్రాలను కూడా తీయండి
  • మరియు అందువలన న.

బ్రౌజర్ ఈ వనరుల కోసం "బాహ్య" ఇంటర్నెట్‌కు వెళ్లడం ప్రారంభిస్తుంది, ప్రతిసారీ ప్రతిస్పందన సమయాన్ని తినే ఫైర్‌వాల్ గుండా వెళుతుంది.

కానీ పేజీలో వనరులు లేనప్పుడు మునుపటి పరీక్ష ఫలితాలను చూపుతుంది semrush.comమాత్రమే semrushchina.cn, మరియు *.semrushchina.cn సొరంగంలోకి ప్రవేశించడానికి షెన్‌జెన్‌లోని వర్చువల్ మెషీన్ చిరునామాకు పరిష్కరిస్తుంది.

ఈ విధంగా మాత్రమే, చైనీస్ ఫైర్‌వాల్‌ను త్వరగా పాస్ చేయడం కోసం మీ పరిష్కారం ద్వారా సాధ్యమయ్యే అన్ని ట్రాఫిక్‌ను గరిష్ట స్థాయికి నెట్టడం ద్వారా, మీరు ఆమోదయోగ్యమైన వేగం మరియు వెబ్‌సైట్ లభ్యత సూచికలను అలాగే పరిష్కార పరీక్షల యొక్క నిజాయితీ ఫలితాలను పొందవచ్చు.
మేము బృందం యొక్క ఉత్పత్తి వైపు ఒకే కోడ్ సవరణ లేకుండా దీన్ని చేసాము.

సబ్ ఫిల్టర్

ఈ సమస్య కనిపించిన వెంటనే పరిష్కారం కనుగొనబడింది. మాకు అవసరం PoC (ప్రూఫ్ ఆఫ్ కాన్సెప్ట్) మా ఫైర్‌వాల్ పెనెట్రేషన్ సొల్యూషన్స్ నిజంగా బాగా పనిచేస్తాయి. దీన్ని చేయడానికి, మీరు వీలైనంత వరకు ఈ పరిష్కారంలో అన్ని సైట్ ట్రాఫిక్‌ను చుట్టాలి. మరియు మేము దరఖాస్తు చేసాము ఉప వడపోత nginx లో.

సబ్ ఫిల్టర్ nginxలో చాలా సరళమైన మాడ్యూల్, ఇది ప్రతిస్పందన బాడీలోని ఒక పంక్తిని మరొక పంక్తికి మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది. కాబట్టి మేము అన్ని సంఘటనలను మార్చాము semrush.comsemrushchina.cn అన్ని సమాధానాలలో.

మరియు... మేము బ్యాకెండ్‌ల నుండి కంప్రెస్ చేయబడిన కంటెంట్‌ను స్వీకరించినందున ఇది పని చేయలేదు, కాబట్టి సబ్‌ఫిల్టర్ అవసరమైన లైన్‌ను కనుగొనలేదు. నేను nginxకు మరొక లోకల్ సర్వర్‌ని జోడించాల్సి వచ్చింది, ఇది ప్రతిస్పందనను తగ్గించి, తదుపరి స్థానిక సర్వర్‌కి పంపింది, ఇది స్ట్రింగ్‌ను భర్తీ చేయడం, కుదించడం మరియు గొలుసులోని తదుపరి ప్రాక్సీ సర్వర్‌కు పంపడంలో ఇప్పటికే బిజీగా ఉంది.

ఫలితంగా, క్లయింట్ ఎక్కడ అందుకుంటారు .semrush.com, అతను తీసుకున్నాడు .semrushchina.cn మరియు విధేయతతో మా నిర్ణయం ద్వారా నడిచారు.

అయినప్పటికీ, డొమైన్‌ను ఒక మార్గంలో మార్చడం సరిపోదు, ఎందుకంటే క్లయింట్ నుండి తదుపరి అభ్యర్థనలలో బ్యాకెండ్‌లు ఇప్పటికీ semrush.comని ఆశిస్తున్నాయి. దీని ప్రకారం, వన్-వే రీప్లేస్‌మెంట్ చేయబడిన అదే సర్వర్‌లో, సాధారణ సాధారణ వ్యక్తీకరణను ఉపయోగించి మేము అభ్యర్థన నుండి సబ్‌డొమైన్‌ను పొందుతాము, ఆపై మేము చేస్తాము ప్రాక్సీ_పాస్ వేరియబుల్ తో $ హోస్ట్, లో ప్రదర్శించబడింది $subdomain.semrush.com. ఇది గందరగోళంగా అనిపించవచ్చు, కానీ ఇది పనిచేస్తుంది. మరియు ఇది బాగా పనిచేస్తుంది. విభిన్న తర్కం అవసరమయ్యే వ్యక్తిగత డొమైన్‌ల కోసం, మీ స్వంత సర్వర్ బ్లాక్‌లను సృష్టించండి మరియు ప్రత్యేక కాన్ఫిగరేషన్ చేయండి. ఈ పథకం యొక్క స్పష్టత మరియు ప్రదర్శన కోసం క్రింద nginx configs కుదించబడ్డాయి.

కింది కాన్ఫిగర్ చైనా నుండి వచ్చిన అన్ని అభ్యర్థనలను ప్రాసెస్ చేస్తుంది .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 సొరంగాలు పడిపోతున్నాయనే అపోహ ధృవీకరించబడనందున మేము కొంతకాలం సంతోషంగా ఉన్నాము. కానీ అప్పుడు సొరంగాలు పడటం ప్రారంభించాయి. కొన్ని నిమిషాలు అనేక సార్లు ఒక రోజు. కొంచెం, కానీ అది మాకు సరిపోలేదు. రెండు సొరంగాలు ఒకే రూటర్‌లో అలీ వైపు నిలిపివేయబడినందున, బహుశా ఇది ప్రాంతీయ సమస్య కావచ్చు మరియు మేము బ్యాకప్ ప్రాంతాన్ని పెంచాల్సిన అవసరం ఉందని మేము నిర్ణయించుకున్నాము.

వారు దానిని కైవసం చేసుకున్నారు. సొరంగాలు వేర్వేరు సమయాల్లో విఫలం కావడం ప్రారంభించాయి, కానీ ఫెయిల్‌ఓవర్ nginxలో అప్‌స్ట్రీమ్ స్థాయిలో మాకు బాగా పనిచేసింది. కానీ తర్వాత సొరంగాలు దాదాపు అదే సమయంలో పడటం ప్రారంభించాయి 🙂 మరియు 502 మరియు 504 మళ్లీ ప్రారంభమయ్యాయి. సమయము క్షీణించడం ప్రారంభమైంది, కాబట్టి మేము దీనితో ఎంపికపై పని చేయడం ప్రారంభించాము అలీబాబా CEN (క్లౌడ్ ఎంటర్‌ప్రైజ్ నెట్‌వర్క్).

CEN

CEN - ఇది అలీబాబా క్లౌడ్‌లోని వివిధ ప్రాంతాల నుండి రెండు VPCల కనెక్టివిటీ, అంటే, మీరు క్లౌడ్‌లోని ఏదైనా ప్రాంతాల ప్రైవేట్ నెట్‌వర్క్‌లను ఒకదానితో ఒకటి కనెక్ట్ చేయవచ్చు. మరియు ముఖ్యంగా: ఈ ఛానెల్ చాలా కఠినమైనది SLA. ఇది వేగం మరియు సమయము రెండింటిలోనూ చాలా స్థిరంగా ఉంటుంది. కానీ ఇది అంత సులభం కాదు:

  • మీరు చైనీస్ పౌరులు లేదా చట్టపరమైన సంస్థ కాకపోతే పొందడం చాలా కష్టం,
  • మీరు ప్రతి మెగాబిట్ ఛానెల్ సామర్థ్యం కోసం చెల్లించాలి.

కనెక్ట్ అయ్యే అవకాశం ఉంది ముఖ్య ప్రదేశం చైనా и విదేశీ, మేము రెండు అలీ ప్రాంతాల మధ్య CENని సృష్టించాము: cn-shenzhen и us-east-1 (మాకు దగ్గరి స్థానం-తూర్పు4). అలీలో us-east-1 మరొక వర్చువల్ మిషన్‌ను పెంచింది, తద్వారా మరొకటి ఉంది హాప్.

ఇది ఇలా మారింది:

బ్రౌజర్ పరీక్ష ఫలితాలు క్రింద ఉన్నాయి:

నిర్ణయం
సమయ
మధ్యస్థ
75 శాతం
95 శాతం

cloudflare
86.6
18
30
60

IPsec
99.79
18
21
30

CEN
99.75
16
21
27

IPSEC కంటే పనితీరు కొంచెం మెరుగ్గా ఉంది. కానీ IPSEC ద్వారా మీరు 100 Mbit/s వేగంతో మరియు CEN ద్వారా 5 Mbit/s మరియు అంతకంటే ఎక్కువ వేగంతో సమర్థవంతంగా డౌన్‌లోడ్ చేసుకోవచ్చు.

హైబ్రిడ్ లాగా ఉంది, సరియైనదా? IPSEC వేగం మరియు CEN స్థిరత్వాన్ని కలపండి.

IPSEC సొరంగం విఫలమైనప్పుడు IPSEC మరియు CEN రెండింటి ద్వారా ట్రాఫిక్‌ను అనుమతించడం ద్వారా మేము ఇదే చేసాము. సమయ సమయం చాలా ఎక్కువగా ఉంది, కానీ సైట్ లోడింగ్ వేగం ఇంకా చాలా కోరుకునేది. మేము ఇప్పటికే ఉపయోగించిన మరియు పరీక్షించిన అన్ని సర్క్యూట్‌లను నేను గీసాను మరియు ఈ సర్క్యూట్‌కు కొంచెం ఎక్కువ GCP ని జోడించాలని నిర్ణయించుకున్నాను, అవి జిఎల్‌బి.

జిఎల్‌బి

జిఎల్‌బి అది - గ్లోబల్ లోడ్ బ్యాలెన్సర్ (లేదా Google క్లౌడ్ లోడ్ బ్యాలెన్సర్). ఇది మాకు ఒక ముఖ్యమైన ప్రయోజనాన్ని కలిగి ఉంది: CDN సందర్భంలో అది కలిగి ఉంది ఏదైనా IP, ఇది క్లయింట్‌కు దగ్గరగా ఉన్న డేటా సెంటర్‌కు ట్రాఫిక్‌ని మార్గనిర్దేశం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, తద్వారా ట్రాఫిక్ త్వరగా Google యొక్క వేగవంతమైన నెట్‌వర్క్‌లోకి వస్తుంది మరియు తక్కువ "సాధారణ" ఇంటర్నెట్ ద్వారా వెళుతుంది.

రెండుసార్లు ఆలోచించకుండా పెంచాం HTTP/HTTPS LB మేము GCPలో సబ్‌ఫిల్టర్‌తో మరియు బ్యాకెండ్‌గా మా వర్చువల్ మిషన్‌లను ఇన్‌స్టాల్ చేసాము.

అనేక పథకాలు ఉన్నాయి:

  • ఉపయోగం క్లౌడ్‌ఫ్లేర్ చైనా నెట్‌వర్క్, కానీ ఈసారి ఆరిజిన్ గ్లోబల్‌గా పేర్కొనాలి IP GLB.
  • వద్ద క్లయింట్‌లను ముగించండి cn-shenzhen, మరియు అక్కడి నుండి నేరుగా ట్రాఫిక్‌ను ప్రాక్సీ చేయండి జిఎల్‌బి.
  • చైనా నుండి నేరుగా వెళ్ళండి జిఎల్‌బి.
  • వద్ద క్లయింట్‌లను ముగించండి cn-shenzhen, అక్కడ నుండి ప్రాక్సీకి ఆసియా-తూర్పు1 IPSEC ద్వారా (in యుఎస్-ఈస్ట్ 4 CEN ద్వారా), అక్కడ నుండి GLBకి వెళ్లండి (ప్రశాంతంగా, క్రింద ఒక చిత్రం మరియు వివరణ ఉంటుంది)

మేము ఈ అన్ని ఎంపికలను మరియు మరిన్ని హైబ్రిడ్ వాటిని పరీక్షించాము:

  • క్లౌడ్‌ఫ్లేర్ + GLB

అప్‌టైమ్ మరియు DNS ఎర్రర్‌ల కారణంగా ఈ పథకం మాకు సరిపోలేదు. కానీ CF వైపు బగ్ పరిష్కరించబడటానికి ముందే పరీక్ష నిర్వహించబడింది, బహుశా ఇది ఇప్పుడు మంచిది (అయితే, ఇది HTTP గడువులను మినహాయించదు).

  • అలీ + GLB

ఈ స్కీమ్ అప్‌టైమ్ పరంగా కూడా మాకు సరిపోలేదు, ఎందుకంటే GLB తరచుగా ఆమోదయోగ్యమైన సమయం లేదా గడువు ముగిసే సమయానికి కనెక్ట్ చేయడం అసంభవం కారణంగా అప్‌స్ట్రీమ్ నుండి బయటకు వస్తుంది, ఎందుకంటే చైనాలోని సర్వర్ కోసం, GLB చిరునామా వెలుపల ఉంటుంది మరియు అందువల్ల వెనుక చైనీస్ ఫైర్‌వాల్. మాయాజాలం జరగలేదు.

  • GLB మాత్రమే

మునుపటి మాదిరిగానే ఒక ఎంపిక, ఇది చైనాలోనే సర్వర్‌లను మాత్రమే ఉపయోగించలేదు: ట్రాఫిక్ నేరుగా GLBకి వెళ్లింది (DNS రికార్డులు మార్చబడ్డాయి). దీని ప్రకారం, ఫలితాలు సంతృప్తికరంగా లేవు, ఎందుకంటే సాధారణ ఇంటర్నెట్ ప్రొవైడర్ల సేవలను ఉపయోగించే సాధారణ చైనీస్ క్లయింట్లు అలీ క్లౌడ్ కంటే ఫైర్‌వాల్‌ను పాస్ చేయడంలో చాలా దారుణమైన పరిస్థితిని కలిగి ఉన్నారు.

  • షెన్‌జెన్ -> (CEN/IPSEC) -> ప్రాక్సీ -> GLB

ఇక్కడ మేము అన్ని పరిష్కారాలలో ఉత్తమమైన వాటిని ఉపయోగించాలని నిర్ణయించుకున్నాము:

  • CEN నుండి స్థిరత్వం మరియు హామీ SLA
  • IPSEC నుండి అధిక వేగం
  • Google యొక్క "వేగవంతమైన" నెట్‌వర్క్ మరియు దాని ఏదైనా.

పథకం ఇలా కనిపిస్తుంది: వినియోగదారు ట్రాఫిక్ వర్చువల్ మెషీన్‌లో నిలిపివేయబడుతుంది ch-shenzhen. Nginx అప్‌స్ట్రీమ్‌లు అక్కడ కాన్ఫిగర్ చేయబడ్డాయి, వాటిలో కొన్ని IPSEC సొరంగం యొక్క మరొక చివర ఉన్న ప్రైవేట్ IP సర్వర్‌లను సూచిస్తాయి మరియు కొన్ని అప్‌స్ట్రీమ్‌లు CEN యొక్క మరొక వైపున ఉన్న సర్వర్‌ల ప్రైవేట్ చిరునామాలను సూచిస్తాయి. IPSEC ప్రాంతానికి కాన్ఫిగర్ చేయబడింది ఆసియా-తూర్పు1 GCPలో (పరిష్కారం సృష్టించబడిన సమయంలో చైనాకు అత్యంత సన్నిహిత ప్రాంతం. GCP ఇప్పుడు హాంకాంగ్‌లో కూడా ఉనికిని కలిగి ఉంది). CEN - ప్రాంతానికి యుఎస్-ఈస్ట్ 1 అలీ క్లౌడ్‌లో.

అనంతరం రెండు వైపుల నుంచి ట్రాఫిక్‌ మళ్లించారు ఏదైనా IP GLB, అంటే, Google ఉనికి యొక్క సమీప బిందువుకు, మరియు దాని నెట్‌వర్క్‌ల ద్వారా ప్రాంతానికి వెళ్లింది యుఎస్-ఈస్ట్ 4 GCPలో, ఇందులో రీప్లేస్‌మెంట్ వర్చువల్ మిషన్లు ఉన్నాయి (nginxలో సబ్‌ఫిల్టర్‌తో).

ఈ హైబ్రిడ్ పరిష్కారం, మేము ఊహించినట్లుగా, ప్రతి సాంకేతికత యొక్క ప్రయోజనాలను ఉపయోగించుకుంది. సాధారణంగా, ట్రాఫిక్ వేగంగా IPSEC గుండా వెళుతుంది, అయితే సమస్యలు ప్రారంభమైతే, మేము త్వరగా మరియు కొన్ని నిమిషాల పాటు ఈ సర్వర్‌లను అప్‌స్ట్రీమ్ నుండి తొలగించి, సొరంగం స్థిరీకరించబడే వరకు CEN ద్వారా మాత్రమే ట్రాఫిక్‌ను పంపుతాము.

ఎగువ జాబితా నుండి 4వ పరిష్కారాన్ని అమలు చేయడం ద్వారా, ఆ సమయంలో మేము కోరుకున్నది మరియు వ్యాపారానికి అవసరమైన వాటిని సాధించాము.

మునుపటి వాటితో పోలిస్తే కొత్త పరిష్కారం కోసం బ్రౌజర్ పరీక్ష ఫలితాలు:

నిర్ణయం
సమయ
మధ్యస్థ
75 శాతం
95 శాతం

cloudflare
86.6
18
30
60

IPsec
99.79
18
21
30

CEN
99.75
16
21
27

CEN/IPsec + GLB
99.79
13
16
25

CDN

మేము అమలు చేసిన పరిష్కారంలో ప్రతిదీ బాగానే ఉంది, కానీ ప్రాంతీయ మరియు నగర స్థాయిలో కూడా ట్రాఫిక్‌ను వేగవంతం చేసే CDN లేదు. సిద్ధాంతపరంగా, ఇది CDN ప్రొవైడర్ యొక్క వేగవంతమైన కమ్యూనికేషన్ ఛానెల్‌లను ఉపయోగించడం ద్వారా తుది వినియోగదారుల కోసం సైట్‌ను వేగవంతం చేస్తుంది. మరియు మేము దాని గురించి అన్ని సమయాలలో ఆలోచించాము. ఇప్పుడు, ప్రాజెక్ట్ యొక్క తదుపరి పునరావృతం కోసం సమయం ఆసన్నమైంది: చైనాలో CDN ప్రొవైడర్‌లను శోధించడం మరియు పరీక్షించడం.

మరియు నేను దీని గురించి తదుపరి, చివరి భాగంలో మీకు చెప్తాను :)

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి