GH GambleHub

एज कैश और पीओपी

1) पीओपी क्या है और "बढ़त" क्यों है

POP (उपस्थिति का बिंदु) एक सामग्री वितरण नेटवर्क (CDN/edge) नोड है जो भौगोलिक रूप से उपयोगकर्ता के करीब है। एज कैश - पीओपी में सीधे भंडारण प्रतिक्रियाओं की एक परत, जो कम करती है:
  • विलंबता (क्लाइंट से पहले कम आरटीटी)।
  • प्रति मूल भार और लागत (ऑफ़लोड)।
  • क्षेत्रों/बादलों (उत्सर्जन-बचत) के बीच यातायात।

किनारा केवल एक कैश नहीं है। आधुनिक पॉप L7 रूटिंग, WAF/बॉट फिल्टर, दर-सीमा, A/B/canaries, परिवर्तन और किनारे-गणना (स्क्रिप्ट/फ़ंक्शन) का समर्थन करते हैं।

2) एज कैशिंग आर्किटेक्चर

2. 1 फ्लैट बनाम टियर

फ्लैट: हर POP मूल में जाता है। मूल के लिए सरल लेकिन महंगा।

Tiered/Shield: POP → शील्ड POP (केंद्रीय कैश) → मूल। शील्ड कैश मिस जमा करता है, मूल के लिए एक छतरी बनाता है।

2. 2 क्षेत्रीय खंड

क्षेत्र/क्षेत्राधिकार (जीडीपीआर/डेटा स्थानीयकरण) द्वारा अलग कैशिंग डोमेन।

वेरिएंट: "ईयू-ओनली पॉप्स" और "ग्लोबल पॉप्स", अलग कुंजी/नियम।

2. 3 Anycast + विलंबता/भू-जागरूक मार्ग

Anycast BGP के माध्यम से ग्राहक को निकटतम POP में लाता है।

सक्रिय आरटीटी/त्रुटि माप पर पीओपी/क्षेत्रीय पूल के बीच जियो/लेटेंसी-अवेयर स्विच।

3) कैश कुंजी, 'वैरी', टीटीएल और ताजगी

3. 1 प्रमुख डिजाइन

प्रश्नों को सामान्य करें: क्वेरी पैरामीटर सॉर्ट करें, शोर हटाएँ (utm, ref)।

शब्दार्थ अक्ष शामिल करें: 'किरायेदार', 'लोकेल', 'स्कीमा संस्करण' ('v = 3'), लेकिन पीआईआई से बचें।

निजी सामग्री के लिए, सार्वजनिक और निजी कैश को अलग करें (देखें) 7)।

3. 2 कैश कंट्रोल (HTTP)

शीर्षक:
  • 'कैश-कंट्रोल: सार्वजनिक, अधिकतम आयु = 60, एस-मैक्सेज = 300, बासी-जबकि-पुनर्नवीनीकरण = 60, बासी-यदि त्रुटि = 120'
  • 'ETag '/' लास्ट-मॉडिफाइड' फोर सशर्त GETs (304)।
  • वैरी: कार्डिनैलिटी को कम से कम करें ('स्वीकार करें-एनकोडिंग', 'स्वीकार करें-भाषा', कभी-कभी 'प्राधिकरण '/' कुकी' फोर निजी रास्ते)।
  • "नियर-स्पीकर" के लिए माइक्रो-कैश: 1-5 सेकंड + एसडब्ल्यूआर।

3. 3 बासी रणनीतियाँ

SWR (बासी-जबकि-पुनर्नवीनीकरण): पृष्ठभूमि के साथ एक पुराना उत्तर और अद्यतन दें।

SIE (बासी-यदि त्रुटि): मूल त्रुटि के मामले में, हम 'SIE' -TTL से पहले कैश का उपयोग करते हैं।

सॉफ्ट/हार्ड टीटीएल: सॉफ्ट टर्म (बासी), हार्ड (पूर्ण मिस)।

4) विकलांगता: "बढ़त" को कैसे अपडेट करें

4. 1 कुंजी और टैग द्वारा

URL/उपसर्ग द्वारा PURGE/BAN - मोटे लेकिन तेज।

सरोगेट-कुंजी/टैग: वस्तुओं को टैग आबंटित करें ('लेख: 42', 'श्रेणी: 7'), URL क्रूर बल के बिना टैग द्रव्यमान विकलांगता द्वारा प्रतिबंध।

4. 2 घटना विकलांगता

मूल में डेटा बदलते समय, घटनाओं (काफ्का/एनएटीएस) → एज अक्षम कॉल BAN/PURGE/सॉफ्ट-एक्सपायर प्रकाशित करें।

4. 3 आर्टिफ़ैक्ट वर्शनिंग

फ़ाइल नाम में स्थिर सामग्री हैश के लिए।

API के लिए, असंगत परिवर्तनों के लिए कुंजी संस्करण ('v = 4') बदलें।

5) मूल सुरक्षा और प्रदर्शन

5. 1 मूल परिरक्षण

शील्ड पीओपी को एकल मिस पॉइंट के रूप में चालू करें - मूल द्वारा तूफान को गुणा करें।

5. 2 कोलसिंग/सिंगल-फ्लाइट

किनारे पर, एक अनुरोध एक मिस पर कैश "घूंसा"; बाकी इंतजार (कोई कैच-अप भगदड़ नहीं)।

5. 3 दर-सीमा/कतार/शेडिंग на एज

यदि अधिभारित है, POP को कम-प्राथमिकता/अनाम निवेदन छोड़ें, मूल नहीं.

5. 4 हस्ताक्षरित URL/हस्ताक्षरित कुकी

उत्पत्ति किनारे के पीछे छिपी हुई है। निजी सामग्री तक पहुंच - टीटीएल और विशेषताओं (आईपी/जियो/पाथ) के साथ हस्ताक्षरित लिंक/कुकी द्वारा, ताकि "सभी" को वितरित न किया जा सके।

6) परिवहन और परिवर्तन

6. 1 HTTP/2-3 и QUIC

HTTP/2: मल्टीप्लेक्सिंग, हेडर संपीड़न।

HTTP/3/QUIC: कम HOL ताले और खोए हुए → चैनलों पर बेहतर p95/p99 TFB के नीचे।

6. 2 संपीड़न और कल्पना

पाठ के लिए ब्रोटली, छवियों के लिए एवीआईएफ/वेब, किनारे पर छवि-आकार (उत्तरदायी आकार, डीपीआर)।

प्रारूप/आकार द्वारा कैश वेरिएंट: कुंजियों में 'चौड़ाई/प्रारूप' (या 'वैरी: स्वीकार करें '/क्लाइंट-संकेत) शामिल हैं।

6. 3 TLS/0-RTT (साफ)

सत्र रीप्लेसिंग स्थापना की गति, फिर से खेलने के लिए कमजोर हो सकता है - केवल अज्ञात GETs के लिए सक्षम।

7) सार्वजनिक बनाम निजी बढ़ त कैश

7. 1 सार्वजनिक

'कैश-कंट्रोल: सार्वजनिक, एस-मैक्सेज =... 'और न्यूनतम' भिन्न '

कैटलॉग, समाचार, चित्र, सीडीएन स्थिर के लिए उपयुक्त।

7. 2 निजी/व्यक्तिगत

विकल्प:
  • साझा स्तर पर कैश न करें: 'कैश-कंट्रोल: प्राइवेट' (ब्राउज़र कैश).
  • कुंजी-विभाजन: कुंजी में किरायेदार/उपयोगकर्ता-आईडी (या टोकन-हैश) शामिल करें और निजी-साझा (भंडारण और पीआईआई के साथ सावधान) के रूप में चिह्नित करें।
  • हस्ताक्षरित कुकीज़और एज-ऑथ: कैश सार्वजनिक है, लेकिन हस्ताक्षर द्वारा पहुंच (किनारे पर एन्क्रिप्टेड सत्र स्थिति के साथ विकल्प)।

8) एज-कंप्यूट (श्रमिक/कार्य)

POP पर आसान कार्य: पथ/हेडर, A/B विभाजन, कुंजी सामान्यीकरण, SWR तर्क, पड़ोसी संसाधनों का प्रीफेच।

मिलीसेकंड संचालन के लिए पीओपी पर स्थानीय केवी/कैश एपीआई।

सीमाएं: अल्पकालिक/स्मृति, लंबे समय तक कनेक्शन की कमी, पीआईआई/क्षेत्रीयता के साथ सावधानीपूर्वक काम।

छद्म उदाहरण (श्रमिकों की तरह)

js export default {
async fetch(req, env) {
const key = normalize(req);
let res = await caches. default. match(key);
if (res) return withHitHeader(res, "HIT");

res = await fetch(req, { cf: { cacheEverything: true }});
const ttl = computeTTL(res);
eventWaitUntil(caches. default. put(key, res. clone(), { expirationTtl: ttl }));
return withHitHeader(res, "MISS");
}
}

9) कॉन्फ़िगरेशन उदाहरण

9. 1 Nginx: माइक्रो-कैश + SWR

nginx proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=api:200m inactive=30m;
map $request_method $skip_cache { default 0; POST 1; PUT 1; DELETE 1; }

server {
location /api/list {
proxy_cache api;
proxy_cache_key "$scheme://$host$uri$is_args$args";
proxy_cache_valid 200 2s;          # micro-cache proxy_cache_use_stale error timeout updating;# SIE + SWR proxy_cache_background_update on;
add_header X-Edge-Cache $upstream_cache_status;
proxy_pass http://origin_pool;
}
}

9. 2 वार्निश: सरोगेट कुंजी и BAN

vcl sub vcl_recv {
if (req. method == "BAN") {
if (req. http. Surrogate-Key) {
ban("obj. http. Surrogate-Key ~ " + req. http. Surrogate-Key);
return (synth(200, "Banned"));
}
}
}

sub vcl_deliver {
set resp. http. Surrogate-Key = "article:42 tag:author:7";
set resp. http. Cache-Control = "public, s-maxage=300, stale-while-revalidate=60";
}

9. 3 दूत (एज-कैश फिल्टर)

yaml http_filters:
- name: envoy. filters. http. cache typed_config:
"@type": type. googleapis. com/envoy. extensions. filters. http. cache. v3. CacheConfig typed_config:
"@type": type. googleapis. com/envoy. extensions. http. cache. simple_http_cache. v3. SimpleHttpCacheConfig

9. 4 CloudFort-शैली व्यवहार (थंबनेल)

व्यवहार A: '/images/' - लंबा TTL, संपीड़न, प्रारूपों में भिन्न होता है।

व्यवहार B: '/api/' - लघु TTL, SWR, हस्ताक्षरित कुकी, WAF/bot सुरक्षा।

ओरिजिन शील्ड सक्षम है, स्टेटस 'बासी-यदि त्रुटि'।

10) अवलोकन, एसएलओ और रिपोर्टिंग

10. 1 मेट्रिक्स

cache_hit_ratio (POP/क्षेत्र/मार्ग द्वारा), byte_hit_ratio।

origin_offload = 1 − (origin_requests/ edge_requests)।

TTFB/TTL मात्रा द्वारा, stale_responses_total, revalidations_total।

stampede_prevented_total, coalesced_waiters।

shield_hit_ratio (यदि tiered), origin_egress_bytes (लागत)।

10. 2 लॉग/ट्रेल्स

'HIT/MISS/STALE/UPDATING/BYPASS', कुंजी, TTL, POP, किरायेदार लेबल वाले लॉग।

वितरित निशान में, स्रोत ('किनारे', 'मूल') और कारण (पुनर्गठित/बासी/त्रुटि) को चिह्नित करें।

10. 3 एसएलओ उदाहरण

"Для '/api/list ': p99 TTFB ≤ 250 мс, एज ने ≥ 70%, बाइट-हिट ≥ 80%, ओरिजिनल त्रुटि-ऑफलोड ≥ 90% मारा।"

"स्टेल-इफ-त्रुटि 'की दर प्रति दिन ≤ 1% है।"

11) सुरक्षा, गोपनीयता, अनुपालन

WAF/बॉट प्रबंधन - मूल रूप से फ़िल्टरिंग के लिए किनारे पर।

डेटा की क्षेत्रीयता: केवल वैध पीओपी में निजी कलाकृतियों को संग्रहीत करें; क्षेत्र-विशिष्ट कुंजियों और एसीएल का उपयोग करें।

किनारे पर हस्ताक्षर और टोकन, सार्वजनिक कैश से निजी जवाब नहीं देते हैं।

पीआईआई न्यूनतम करना: कुंजियों में व्यक्तिगत डेटा शामिल न करें; कुकीज़को एन्क्रिप्ट करें; निजीकरण के लिए लघु टीटीएल।

12) विशिष्ट व्यंजनों

12. 1 "लगभग गतिशील" (टेप/सूची)

किनारे पर + एसडब्ल्यूआर के साथ माइक्रो-कैश 1-3, खाली परिणामों के लिए ढाल सक्षम, एकल-उड़ान, नकारात्मक-कैश 1-5 एस।

12. 2 छवि/मीडिया बादल

किनारा पुनरावृत्ति/स्वरूपण (WebP/AVIF), 'चौड़ाई/प्रारूप', लंबे टीटीएल द्वारा कैश विकल्प, सामग्री टैग द्वारा विकलांगता।

12. 3 एपीआई निजीकरण के साथ

'कैश-कंट्रोल: प्रतिक्रिया के "लगभग सार्वजनिक" भागों के लिए कुकी + की-सेगमेंट (किरायेदार), शॉर्ट टीटीएल, एसडब्ल्यूआर पर हस्ताक्षर किए।

12. 4 बड़ी बिक्री/पिक्स

प्रमुख संसाधनों (प्रीवार्म) को गर्म करना, स्टेटिक्स के लिए टीटीएल को बढ़ाना, आक्रामक एसडब्ल्यूआर/एसआईई, मूल के लिए कठिन सीमाएं, शील्ड शामिल हैं।

13) एंटी-पैटर्न

अलग-अलग प्रतिक्रियाओं के साथ 'वैरी' नहीं - लीक/गलत डेटा।

विशाल 'वैरी' कार्डिनैलिटी - कम हिट।

प्रोड/प्रयोगों के लिए सामान्य कैश - संदूषण।

कोई एकल-उड़ान नहीं - तूफान मूल पर याद आता है।

प्रतिबंध के बिना SWR - दौड़ और हिमस्खलन मान्य अनुरोध अपडेट करें।

सार्वजनिक - सुरक्षा घटनाओं के रूप में निजी प्रतिक्रियाओं का बढ़ त कैश

दुनिया भर में लोड पर टियर/शील्ड की अनुपस्थिति - मूल ओवरहीटिंग।

14) कार्यान्वयन चेकलिस्ट

  • मैप पॉप कवरेज, किसी भी तरह + विलंबता-मार्ग को सक्षम करें।
  • टियर/शील्ड और सिंगल-फ्लाइट/कोलेसिंग नीतियों का चयन करें।
  • डिजाइन कुंजी और वैरी (न्यूनतम कार्डिनैलिटी, कोई पीआईआई नहीं)।
  • टीटीएल/एसडब्ल्यूआर/एसआईई (सॉफ्ट/हार्ड टीटीएल) और नकारात्मक-कैश कॉन्फ़िगर करें।
  • हस्ताक्षरित URL/कुकी सक्षम करें, मूल छिपाएँ, WAF/bot फ़िल्टर सक्षम करें।
  • विकलांगता का आयोजन करें: सरोगेट-की/BAN + घटना-चालित।
  • हिट/बाइट-हिट/ऑफलोड/टीटीएफबी मेट्रिक्स और प्रति-पीओपी डैशबोर्ड उठाएं।
  • चोटियों से पहले वार्म-अप, तूफान/ओवरलोड के लिए रनबुक।
  • गोपनीयता/क्षेत्रीयता परीक्षण, कुंजी और नीति ऑडिट।
  • किनारे और TTL/SWR ऑटो-ट्विक मानदंड के लिए SLO/गलत बजट।

15) एफएक्यू

प्रश्न: किनारे पर टीटीएल कैसे चुनें?

A: अनुमेय अप्रचलन और हिट-अनुपात लक्ष्य को धक्का दें। "नियर-डायनेमिक्स" के लिए - 1-5 एस + एसडब्ल्यूआर; घटनाओं/टैग द्वारा विकलांगता के साथ निर्देशिका/चित्र - मिनट/घंटे के लिए।

प्रश्न: शील्ड पीओपी की आवश्यकता कब है?

A: वैश्विक यातायात या गर्म कुंजियों के साथ: ढाल नाटकीय रूप से मूल पर यादों को कम करता है और तरंगों को "पकड़ना" स्थिर करता है।

प्रश्न: मैं अधिकृत प्रतिक्रियाओं को कैश कैसे करूं?

A: या तो 'निजी' (ब्राउज़र), या हस्ताक्षरित कुकी/URL और कुंजी विभाजन (PII के बिना) के साथ सार्वजनिक, या आम तौर पर महत्वपूर्ण व्यक्तिगत डेटा के लिए बाईपास।

प्रश्न: HTTP/3 के साथ क्या करना है?

A: सक्षम करें: मोबाइल/खोया हुआ चैनल विशेष रूप से जीतता है। HTTP/2 पर प्रॉक्सी और फॉलबैक की संगतता को नियंत्रित करें।

16) कुल

एज कैश और पीओपी नेटवर्क उच्च गति और किफायती प्लेटफार्मों की नींव हैं। सफलता सही कुंजी और 'वैरी', उचित टीटीएल/एसडब्ल्यूआर/एसआईई, टैग/इवेंट विकलांगता, टियर/शील्ड मूल सुरक्षा, साथ ही अवलोकन (हिट/ऑफलोड/टीटीएफबी) और सुरक्षा/गोपनीयता अनुशासन द्वारा निर्धारित की जाती है। चेकलिस्ट का पालन करें - और "एज" आपका त्वरक होगा, आश्चर्य का स्रोत नहीं।

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

Telegram
@Gamble_GC
इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।