Logo GH

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

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

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

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

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

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

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

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