किनारा कंप्यूटिंग और विलंबता नियंत्
1) क्यों बढ़ त और क्या विलंबता नियंत्रण है
एज उपयोगकर्ता (PoP, CDN, स्थानीय ऑपरेटर PoP, 5G MEC) के करीब तर्क का निष्पादन है। लक्ष्य आरटीटी और पूंछ (p95/p99) को कम करना, कोर को उतारना और भू-अनुपालन सुनिश्चित करना है।
विलंबता नियंत्रण - वास्तुशिल्प और प्रोटोकॉल तकनीकों का एक सेट जो चोटियों, पैकेट हानि और निर्भरता गिरावट के दौरान दिए गए एसएलओ में देरी को धारण करता है।
प्रमुख विचार: स्थानीयता, अतुल्यकालिक, मूल्य की प्राथमिकता के साथ गिरावट।
2) परिधि नक्शा
स्टेटिक/एसेट्स सीडीएन: कैशिंग, इमेज/एचटीएमएल ट्रांसफॉर्म, ब्रोटली, वेब/एवीआईएफ, HTTP/3।
एज गणना: फंक्शन/वर्कर्स (क्लाउडफ्लेयर वर्कर्स, फास्टली कम्प्यूट @ एज, वर्सेल एज, फ्लाई। io)।
एज डेटा: KV/SQLite-on-edge/Durable Objects/Global Tabes (स्थिरता आरक्षण के साथ)।
किनारे की सुरक्षा: WAF/दर सीमा/Bot mgmt/Geo-rought/HMAC जाँच।
एज नेटवर्किंग: Anycast, स्मार्ट-रूटिंग, TCP/QUIC अनुकूलन।
3) तर्क प्लेसमेंट पैटर्न
परिरक्षण और वार्मअप: मूल-ढाल परत, वार्मिंग/पिनिंग लोकप्रिय कुंजी।
गणना-ऑन-रीड: बैनर निजीकरण, ए/बी ब्रांचिंग, भू-पुनर्निर्देशन।
किनारे पर प्री-ऑथ: JWT/HMAC सत्यापन, कर्नेल को कचरा छोड़ ना।
राइट-थ्रू कतार - कर्नेल को अतुल्यकालिक डिलीवरी के साथ किनारे की कतार में कस्टम घटनाओं को लिखते हैं (पहचान!)।
फ्लैग्स @ edge: त्वरित गिरावट स्विच (हल्के पृष्ठ/निर्देशिका मोड)।
4) प्रोटोकॉल और परिवहन
HTTP/3 (QUIC): छोटे हैंडशेक ओवरहेड, पैकेट लॉस के लिए प्रतिरोधी। सिर्फ idempotent GET/HEAD के लिए सक्षम करें।
टीसीपी ट्यूनिंग (HTTP/1 के लिए। 1/2): BBR/CUBIC, 'tcp _ fastopen', 'कीपलाइव', कनेक्शन पूलिंग।
TLS: OCSP स्टेपलिंग, ECDSA- серты, सत्र फिर से शुरू; परिधि पर HSTS।
DNS: डायनेमिक्स, स्प्लिट-क्षितिज, एनीकास्ट रिज़ॉल्वर के लिए शॉर्ट टीटीएल (30-120)।
5) पूंछ नियंत्रण: p95/p99
Heded अनुरोध: "शुरुआती समय सीमा" (उदाहरण के लिए, p90 विलंबता) के बाद दूसरे बैकेंड के अनुरोध की नकल करें और हारने वाले को रद्द करें।
डेडलाइन प्रसार: श्रृंखला को एसएलए से अधिक रखने के लिए 'एक्स-डेडलाइन-एमएस '/' जीआरपीसी-टाइमआउट' पास करें।
अनुकूली संगति: मनाया-विलंबता (AIMD) द्वारा रोटा/किरायेदार संगति को प्रतिबंधित करें।
बल्कहेड और प्राथमिकता: महत्वपूर्ण पथ (लॉगिन/जमा) वर्ग से ऊपर एक कोटा और कतार प्राप्त करते हैं।
6) टाइमआउट, रिट्रीट और आइडेम्पोटेंस
कुल समय सीमा <प्रति-हॉप टाइमआउट × एन; केवल अज्ञात सर्जरी के लिए पीछे हटना।
बैकऑफ + जिटर (आधा मौका देरी), अंधे रिट्रे के बजाय हेजिंग।
POSTs के लिए पहचान-कुंजी (पर्स/भुगतान/बोनस)।
घातीय विंडो के साथ रीट्री-आफ्टर और क्लाइंट संकेत (429/503)।
दूत (मार्ग टुकड़ा)
yaml route:
timeout: 300ms retry_policy:
retry_on: "reset,5xx,connect-failure"
num_retries: 1 per_try_timeout: 150ms retry_host_predicate:
- name: envoy. retry_host_predicates. previous_hosts host_selection_retry_max_attempts: 3 hedge_policy:
initial_requests: 1 additional_request_chance: { default_value: 0. 5} # enable after per-timeout
7) कैचिंग और स्थिरता
कैश कुंजी अनुशासन: हेडर/प्रश्नों का सामान्यीकरण, आवश्यक क्षेत्रों द्वारा वैरी।
बासी-जबकि-पुनर्नवीनीकरण: "थोड़ापुराना" + पृष्ठभूमि अद्यतन की त्वरित वापसी।
सॉफ्ट टीटीएल/हार्ड टीटीएल: पढ़ ने के रास्तों के लिए नरम अप्रचलन, महत्वपूर्ण कॉन्फ़िगरेशन के लिए हार्ड टीटीएल।
हस्ताक्षरित आदान-प्रदान/हस्ताक्षरित यूआरएल: क्षेत्रीय प्रतिबंधों सहित गर्म संसाधनों की सुरक्षा।
NGINX (SWR उदाहरण)
nginx proxy_cache_valid 200 10m;
proxy_cache_use_stale updating error timeout http_500 http_502 http_504;
add_header Age $upstream_cache_status;
8) बढ़ त-श्रमिक: उदाहरण
क्लाउडफ्लेयर वर्कर्स (JWT + जियो)
js export default {
async fetch(req, env, ctx) {
const url = new URL(req. url);
const { country } = req. cf {};
//Simple geo-policy if (country & &! ["DE, ""PL, ""SE,"" UA"] .includes (country)) {
return new Response("Region not served", { status: 451 });
}
//Easy JWT validation const token = req. headers. get("Authorization")?.replace("Bearer ","");
if (!token! isValid(token, env. JWTPUB)) return new Response("",{status:401});
//Prefetch critical data const resp = await fetch ("https ://origin. internal/api/v1/catalog", { cf:{ cacheTtl: 60, cacheEverything: true }});
return new Response(resp. body, resp);
}
}
तेजी से कम्प्यूट @ Edge (वजन से कैनरी)
लिविंग रूम/पेज में - नए संस्करण के लिए 5%, एज कॉन्फिग के माध्यम से त्वरित रोलबैक।
9) प्राथमिकता और गिरावट
प्राथमिकता संकेत: HTTP/2 प्राथमिकताएं/HTTP अर्ली संकेत (103) → महत्वपूर्ण संसाधनों का प्रारंभिक धक्का।
डिग्रेड पथ: सरलीकृत यूआई टेम्पलेट, भारी विजेट अक्षम करना, छवि गुणवत्ता कम करना।
ट्रैफिक आकार: एनिमेशन की सीमा, खराब नेटवर्क (RUM सिग्नल) के मामले में तृतीय-पक्ष प्रदाताओं की विजेट।
10) परिधि पर अवलोकन
RUM + सिंथेटिक: वेब-विटल्स (LCP/CLS/INP), TTFB, RTT, потери QUIC।
उदाहरण: विशिष्ट trace_id और PoP के साथ एसोसिएट p99 स्पाइक्स।
SLO प्रति क्षेत्र/ASN/प्रदाता: "p95 TTFB ≤ 200 ms", "p99 API ≤ 400 ms"।
टेल-सैंपलिंग: त्रुटियों/p99, सेगमेंट 'एज _ पॉप', 'क्षेत्र', 'किरायेदार' को सहेजें।
एज लॉग: WAF हिट, बॉट-स्कोर, कैश-स्थिति, भू-समाधान।
11) तृतीय-पक्ष स्क्रिप्ट प्रबंधन
सीएसपी और सबरेसर्स इंटीग्रिटी पॉलिसी।
Defer/async, पृथक डोमेन, महत्वपूर्ण पथ द्वारा डाउनलोड करें - तृतीय-पक्ष जेएस को अवरुद्ध किए बिना।
निजीकरण और ट्रैकिंग - टीटीएफबी को प्रभावित किए बिना, अतुल्यकालिक रूप से किनारे पर प्रदर्शन करते हैं।
12) किनारे पर एंटीबॉट/एंटीफ्राड
डिवाइस फिंगरप्रिंट और वेग कोर तक सीमित है।
टोकन बाइंडिंग (फॉर्म/ऑपरेशन प्रति एक बार टोकन), अनुरोध के एचएमएसी हस्ताक्षर।
चुनौती-चरण (टर्नस्टाइल/hCaptcha) केवल बढ़े हुए जोखिम पर; आईपी/एएसएन/सत्र द्वारा कैश "विश्वास"।
13) आईगेमिंग/वित्त की विशिष्टताएं
भू-अनुपालन: किनारे के अधिकार क्षेत्र द्वारा अवरुद्ध/पुनर्निर्देशित (नियम पृष्ठ, जिम्मेदार गेमिंग)।
PSP/KYC प्राथमिकता: "स्वस्थ" प्रदाता (स्मार्ट-रूटिंग), व्यक्तिगत TTL/PSP डोमेन के लिए डीएनएस को बढ़ त।
दुरुपयोग विरोधी: जमा/पंजीकरण/बोनस पर सीमा, किनारे पर वेग संकेतों को ध्यान में रखते हुए; सभी लेखन संचालन पहचाने जाते हैं।
डेटा रेजिडेंसी: व्यक्तिगत डेटा किनारे पर कैश नहीं किया जाता है; पीआईआई हेडर संपादित/हटाए गए हैं, पीएसपी को टीएलएस पिनिंग सक्षम है।
"पैसे" पथ के लिए सीएलओ: सख्त पी 95/पी 99, आवंटित कोटा, व्यक्तिगत अलर्ट।
14) वास्तुशिल्प व्यंजनों
14. 1 "फास्ट फ्रंट"
HTML टेम्पलेट और महत्वपूर्ण CSS किनारे पर, 'बासी-जबकि-पुनर्नवीनीकरण' के माध्यम से डेटा, भारी विजेट आलसी हैं।
14. 2 "धन का मार्ग"
किनारे पर प्री-ऑथ + एचएमएसी, त्वरित नियम/सीमा जाँच, कतार, 202/OK प्रतिक्रिया, बाद में वेबहुक/मतदान; समय सीमा और पीएसपी के लिए हेजिंग।
14. 3 "कैटलॉग/गेम्स"
निर्देशिका/कॉन्फ़िग - वैश्विक केवी/एज कैश; क्षेत्रीय मूल्य/आयु के लिए - स्थानीय नियमों के साथ गणना-ऑन-एज
15) प्रदर्शन और लागत
कैश ने स्थिर के लिए ≥ 95% और अर्ध-गतिशीलता (HTML टुकड़े) के लिए ≥ 70% - लक्ष्य मारा।
स्थानीय पीओपी और बासी प्रतिक्रियाओं के माध्यम से "क्रॉस-रीजनल एग्रेस" को कम करें।
ट्रेसिंग के पूंछ-नियम मूल्यवान मामलों को बनाए रखते हुए × 10- × 100 की मात्रा को सीमित करते हैं।
QUIC प्रोटोकॉल RTT को बचाता है, लेकिन H2 पर फॉलबैक रखता है।
16) प्रोड रेडीनेस चेकलिस्ट
- HTTP/3/QUIC सक्षम; 0-RTT केवल पहचान के लिए।
- एज-वर्कर्स: JWT/HMAC सत्यापन, भू-नियम, सुविधा-झंडे गिरावट।
- कैश रणनीति: कुंजी, एसडब्ल्यूआर, सॉफ्ट/हार्ड टीटीएल; मूल-ढाल + वार्म-अप।
- हेजिंग, डेडलाइन-प्रसार, अनुकूली संगति, बल्कहेड्स।
- टाइमआउट/रिट्रेज़: बैकऑफ़ + जिटर, केवल पहचाने जाने वाले दोहराव।
- RUM + सिंथेटिक; क्षेत्र/एएसएन द्वारा एसएलओ; पूंछ-नमूना p99/त्रुटियां।
- सीएसपी/एसआरआई और तृतीय-पक्ष स्क्रिप्ट नियंत्रण; WAF/बॉट किनारे पर स्कोरिंग।
- iGaming के लिए: भू-अनुपालन, स्मार्ट-रूटिंग PSP, पहचान लिखें, कैश में कोई PII नहीं।
- रनबुक: कैसे गिरावट/स्विच वेट/रोल बैक कैनरी को सक्षम करें।
- परीक्षण: 1-3% के नुकसान के तहत विलंबता, अराजकता-देरी, रिहर्स-डीएनएस विफल।
17) टीएल; डीआर
उपयोगकर्ता (एज-वर्कर्स + कैश) के लिए यथासंभव तर्क वितरित करें, HTTP/3/QUIC पर बात करें, कसकर नियंत्रण टाइमआउट/डेडलाइन, "कट टेल्स" p99 हेजिंग और बल्कहेड/प्राथमिकता। महत्वपूर्ण रास्ते - अलग कोटा और एसएलओ, सभी रिकॉर्ड - अज्ञात हैं। अवलोकन - RUM + सिंथेटिक + टेल-ट्रेसिंग। आईगेमिंग के लिए - भू-अनुपालन, स्मार्ट-रूटिंग पीएसपी/केवाईसी, परिधि पर शून्य पीआईआई रिसाव और तेजी से गिरावट मोड।