వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

DDoS-Guard నెట్‌వర్క్‌లో చట్టబద్ధమైన ట్రాఫిక్ ఇటీవల సెకనుకు వంద గిగాబిట్‌లను మించిపోయింది. ప్రస్తుతం, మా మొత్తం ట్రాఫిక్‌లో 50% క్లయింట్ వెబ్ సేవల ద్వారా ఉత్పత్తి చేయబడుతుంది. ఇవి అనేక పదివేల డొమైన్‌లు, చాలా భిన్నమైనవి మరియు చాలా సందర్భాలలో వ్యక్తిగత విధానం అవసరం.

కట్ క్రింద మేము ముందు నోడ్‌లను ఎలా నిర్వహిస్తాము మరియు వందల వేల సైట్‌ల కోసం SSL ప్రమాణపత్రాలను ఎలా జారీ చేస్తాము.

వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

ఒక సైట్ కోసం ముందు భాగాన్ని సెటప్ చేయడం, చాలా పెద్దది కూడా సులభం. మేము nginx లేదా haproxy లేదా lighttpd తీసుకుంటాము, గైడ్‌ల ప్రకారం దాన్ని కాన్ఫిగర్ చేస్తాము మరియు దాని గురించి మరచిపోతాము. మనం ఏదైనా మార్చవలసి వస్తే, మేము రీలోడ్ చేసి మళ్లీ మరచిపోతాము.

మీరు ఫ్లైలో పెద్ద మొత్తంలో ట్రాఫిక్‌ను ప్రాసెస్ చేసినప్పుడు, అభ్యర్థనల చట్టబద్ధతను మూల్యాంకనం చేయడం, వినియోగదారు కంటెంట్‌ను కుదించడం మరియు కాష్ చేయడం మరియు అదే సమయంలో సెకనుకు అనేక సార్లు పారామితులను మార్చడం వంటివి మారుతాయి. వినియోగదారు తన వ్యక్తిగత ఖాతాలోని సెట్టింగ్‌లను మార్చిన వెంటనే అన్ని బాహ్య నోడ్‌లలో ఫలితాన్ని చూడాలనుకుంటున్నారు. ఒక వినియోగదారు API ద్వారా వ్యక్తిగత ట్రాఫిక్ ప్రాసెసింగ్ పారామితులతో అనేక వేల (మరియు కొన్నిసార్లు పదివేల) డొమైన్‌లను డౌన్‌లోడ్ చేసుకోవచ్చు. ఇవన్నీ అమెరికాలో, మరియు ఐరోపాలో మరియు ఆసియాలో కూడా వెంటనే పని చేయాలి - మాస్కోలో మాత్రమే అనేక భౌతికంగా వేరు చేయబడిన వడపోత నోడ్‌లు ఉన్నాయని పరిగణనలోకి తీసుకుంటే పని చాలా చిన్నవిషయం కాదు.

ప్రపంచవ్యాప్తంగా చాలా పెద్ద నమ్మకమైన నోడ్‌లు ఎందుకు ఉన్నాయి?

  • క్లయింట్ ట్రాఫిక్ కోసం సేవ యొక్క నాణ్యత - USA నుండి అభ్యర్థనలు USAలో ప్రాసెస్ చేయబడాలి (దాడులు, పార్సింగ్ మరియు ఇతర క్రమరాహిత్యాలతో సహా), మరియు మాస్కో లేదా యూరప్‌కు లాగబడవు, ప్రాసెసింగ్ ఆలస్యాన్ని అనూహ్యంగా పెంచుతాయి.

  • అటాక్ ట్రాఫిక్ తప్పనిసరిగా స్థానికీకరించబడాలి - దాడుల సమయంలో ట్రాన్సిట్ ఆపరేటర్లు క్షీణించవచ్చు, దీని పరిమాణం తరచుగా 1Tbps కంటే ఎక్కువగా ఉంటుంది. అట్లాంటిక్ లేదా ట్రాన్సాసియన్ లింక్‌ల ద్వారా దాడి ట్రాఫిక్‌ను రవాణా చేయడం మంచి ఆలోచన కాదు. టైర్-1 ఆపరేటర్లు ఇలా చెప్పినప్పుడు మాకు నిజమైన కేసులు ఉన్నాయి: "మీరు స్వీకరించే దాడుల పరిమాణం మాకు ప్రమాదకరం." అందుకే మేము ఇన్‌కమింగ్ స్ట్రీమ్‌లను వాటి మూలాలకు వీలైనంత దగ్గరగా అంగీకరిస్తాము.

  • సేవ యొక్క కొనసాగింపు కోసం కఠినమైన అవసరాలు - శుభ్రపరిచే కేంద్రాలు వేగంగా మారుతున్న మన ప్రపంచంలో ఒకదానిపై ఒకటి లేదా స్థానిక సంఘటనలపై ఆధారపడకూడదు. మీరు MMTS-11లోని మొత్తం 9 అంతస్తులకు వారం రోజుల పాటు విద్యుత్‌ను నిలిపివేశారా? - ఏమి ఇబ్బంది లేదు. ఈ నిర్దిష్ట ప్రదేశంలో భౌతిక కనెక్షన్ లేని ఏ ఒక్క క్లయింట్ కూడా బాధపడదు మరియు వెబ్ సేవలు ఎట్టి పరిస్థితుల్లోనూ బాధపడవు.

వీటన్నింటినీ ఎలా నిర్వహించాలి?

సర్వీస్ కాన్ఫిగరేషన్‌లు అన్ని ముందు నోడ్‌లకు వీలైనంత త్వరగా పంపిణీ చేయాలి (ఆదర్శంగా తక్షణమే). మీరు ప్రతి మార్పులో టెక్స్ట్ కాన్ఫిగర్‌లను తీసుకోలేరు మరియు పునర్నిర్మించలేరు మరియు డెమోన్‌లను రీబూట్ చేయలేరు - అదే nginx మరికొన్ని నిమిషాల పాటు (లేదా సుదీర్ఘ వెబ్‌సాకెట్ సెషన్‌లు ఉంటే గంటలు) ప్రక్రియలను ఆపివేస్తుంది (కార్మికుడు షట్ డౌన్ చేయడం).

nginx కాన్ఫిగరేషన్‌ను మళ్లీ లోడ్ చేస్తున్నప్పుడు, కింది చిత్రం చాలా సాధారణమైనది:

వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

మెమరీ వినియోగంపై:

వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

కనెక్షన్ల సంఖ్యపై సరళంగా ఆధారపడని మెమరీతో సహా పాత కార్మికులు మెమరీని తింటారు - ఇది సాధారణం. క్లయింట్ కనెక్షన్‌లు మూసివేయబడినప్పుడు, ఈ మెమరీ ఖాళీ చేయబడుతుంది.

nginx ఇప్పుడే ప్రారంభమవుతున్నప్పుడు ఇది ఎందుకు సమస్య కాదు? HTTP/2 లేదు, వెబ్‌సాకెట్ లేదు, భారీ లాంగ్ కీప్-లైవ్ కనెక్షన్‌లు లేవు. మా వెబ్ ట్రాఫిక్‌లో 70% HTTP/2, అంటే చాలా పొడవైన కనెక్షన్‌లు.

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

మేము మా స్వంత ఫ్రంట్ సర్వర్-బ్యాలన్సర్‌ని కలిగి ఉన్నాము, దాని యొక్క అంతర్గత విషయాల గురించి నేను క్రింది కథనాలలో మాట్లాడుతాను. రీస్టార్ట్‌లు, రీలోడ్‌లు, మెమరీ వినియోగంలో ఆకస్మిక పెరుగుదల మరియు అన్నింటినీ లేకుండా ఫ్లైలో సెకనుకు వేల సంఖ్యలో కాన్ఫిగరేషన్ మార్పులను వర్తింపజేయడం ఇది చేయగలిగే ప్రధాన విషయం. ఇది హాట్ కోడ్ రీలోడ్‌కి చాలా పోలి ఉంటుంది, ఉదాహరణకు ఎర్లాంగ్‌లో. డేటా జియో-డిస్ట్రిబ్యూటెడ్ కీ-వాల్యూ డేటాబేస్‌లో నిల్వ చేయబడుతుంది మరియు ముందు యాక్యుయేటర్‌ల ద్వారా వెంటనే చదవబడుతుంది. ఆ. మీరు మాస్కోలోని వెబ్ ఇంటర్‌ఫేస్ లేదా API ద్వారా SSL ప్రమాణపత్రాన్ని అప్‌లోడ్ చేస్తారు మరియు కొన్ని సెకన్లలో లాస్ ఏంజిల్స్‌లోని మా శుభ్రపరిచే కేంద్రానికి వెళ్లడానికి సిద్ధంగా ఉంది. అకస్మాత్తుగా ప్రపంచ యుద్ధం జరిగితే మరియు ప్రపంచవ్యాప్తంగా ఇంటర్నెట్ అదృశ్యమైతే, లాస్ ఏంజిల్స్-ఆమ్‌స్టర్‌డామ్-మాస్కో, మాస్కో-ఆమ్‌స్టర్‌డామ్-హాంకాంగ్- అంకితమైన ఛానెల్‌లలో ఒకటైన వెంటనే మా నోడ్‌లు స్వయంప్రతిపత్తితో పని చేస్తాయి మరియు స్ప్లిట్-మెదడును రిపేర్ చేస్తాయి. లాస్-లాస్ అందుబాటులోకి వస్తుంది. ఏంజెల్స్ లేదా కనీసం GRE బ్యాకప్ ఓవర్‌లేలలో ఒకటి.

లెట్స్ ఎన్‌క్రిప్ట్ సర్టిఫికేట్‌లను తక్షణమే జారీ చేయడానికి మరియు పునరుద్ధరించడానికి ఇదే మెకానిజం అనుమతిస్తుంది. చాలా సరళంగా ఇది ఇలా పనిచేస్తుంది:

  1. సర్టిఫికేట్ లేకుండా (లేదా గడువు ముగిసిన సర్టిఫికేట్‌తో) మా క్లయింట్ డొమైన్ కోసం కనీసం ఒక HTTPS అభ్యర్థనను చూసిన వెంటనే, అభ్యర్థనను ఆమోదించిన బాహ్య నోడ్ దీన్ని అంతర్గత ధృవీకరణ అధికారానికి నివేదిస్తుంది.

    వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

  2. లెట్స్ ఎన్‌క్రిప్ట్ జారీ చేయడాన్ని వినియోగదారు నిషేధించనట్లయితే, ధృవీకరణ అధికారం CSRని రూపొందిస్తుంది, LE నుండి నిర్ధారణ టోకెన్‌ను అందుకుంటుంది మరియు గుప్తీకరించిన ఛానెల్ ద్వారా అన్ని రంగాలకు పంపుతుంది. ఇప్పుడు ఏ నోడ్ అయినా LE నుండి ధృవీకరణ అభ్యర్థనను నిర్ధారించగలదు.

    వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

  3. కొన్ని క్షణాల్లో, మేము సరైన సర్టిఫికేట్ మరియు ప్రైవేట్ కీని అందుకుంటాము మరియు అదే విధంగా ఫ్రంట్‌లకు పంపుతాము. మళ్ళీ, డెమోన్‌లను పునఃప్రారంభించకుండా

    వెబ్ హైలోడ్ - పదివేల డొమైన్‌ల కోసం మేము ట్రాఫిక్‌ని ఎలా నిర్వహిస్తాము

  4. గడువు తేదీకి 7 రోజుల ముందు, ధృవీకరణ పత్రాన్ని తిరిగి స్వీకరించే విధానం ప్రారంభించబడుతుంది

ప్రస్తుతం మేము వినియోగదారులకు పూర్తిగా పారదర్శకంగా, నిజ సమయంలో 350k సర్టిఫికేట్‌లను తిప్పుతున్నాము.

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

నమోదు చేసుకున్న వినియోగదారులు మాత్రమే సర్వేలో పాల్గొనగలరు. సైన్ ఇన్ చేయండిదయచేసి.

మీరు ముందుగా ఏమి తెలుసుకోవాలనుకుంటున్నారు?

  • 14,3%వెబ్ ట్రాఫిక్ నాణ్యతను క్లస్టరింగ్ చేయడానికి మరియు విశ్లేషించడానికి అల్గారిథమ్‌లు<3

  • 33,3%DDoS-Guard7 బ్యాలెన్సర్‌ల అంతర్గతాలు

  • 9,5%రవాణా L3/L4 ట్రాఫిక్ రక్షణ2

  • 0,0%రవాణా ట్రాఫిక్‌పై వెబ్‌సైట్‌లను రక్షించడం0

  • 14,3%వెబ్ అప్లికేషన్ ఫైర్‌వాల్3

  • 28,6%అన్వయించడం మరియు క్లిక్ చేయడం నుండి రక్షణ 6

21 మంది వినియోగదారులు ఓటు వేశారు. 6 మంది వినియోగదారులు దూరంగా ఉన్నారు.

మూలం: www.habr.com

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