GH GambleHub

नोड्स के बीच डेटा प्रवाह

(खंड: पारिस्थितिकी तंत्र और नेटवर्क)

1) सार और लक्ष्य

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

2) प्रवाह वर्गीकरण

1. नियंत्रण विमान: कॉन्फ़िग, फ़िचफ्लैग, रूटिंग/सीमा नीतियां।

2. डेटा प्लेन - घटना: डोमेन घटनाएँ ('जमा करें। ',' भुगतान। ',' पुल। ').

3. डेटा प्लेन - स्ट्रीम: सिग्नल और लाइव मैट्रिक्स के लिए लंबे समय तक रहने वाली धाराएं (gRPC/WebSocket)।

4. बैच/बैकफिल: ऐतिहासिक स्लाइस, रिप्ले, स्नैपशॉट के डाउनलोड।

5. प्रतिकृति/एंटी-एन्ट्रापी: राज्य सिंक, मर्क्लाइजेशन, सीआरडीटी धाराएँ।

6. टेलीमेट्री/वेधशाला: लॉग/मेट्रिक्स/ट्रेल्स साइड-बैंड, मुख्य यूएक्स के साथ हस्तक्षेप न करें।

प्रत्येक प्रकार में QoS कक्षाएं और अपने स्वयं के रिट्रे/ऑर्डर नियम हैं।

3) टोपोलॉजी और रूटिंग

हब-एंड-स्पोक: टायर के रूप में क्षेत्रीय हब; खेलता है - भूमिका नोड्स।

Mesh/P2P: प्रतिकृति/गपशप के लिए आंशिक जाल।

एज-टायर्ड: पतले किनारे गेटवे (दर-सीमा/कैश) → मोटे क्षेत्रीय समूह।

जियो-रूटिंग: Anycast/Latency-Awardy LB + रेजिडेंसी नियम।

कुंजी - विभाजन: 'पार्टीशन _ key = chennId' किरायेदार 'विषय' EntyyId 'पूर्वानुमानित क्रम और पैमाना देता है।

4) परिवहन और प्रारूप

HTTP/2/3, gRPC/QUIC - कम विलंबता, मल्टीप्लेक्सिंग, कीपलाइव।

काफ्का/पल्सर/एनएटीएस - दृढ़ ता/पार्टियों/उपभोक्ता समूहों के साथ कतारें।

वेबसॉकेट - पुश इवेंट्स और लाइव फीड।

प्रारूप: Protobuf/Avro (विकास के साथ योजनाएँ), बाहरी API के लिए JSON।

अखंडता सत्यापन के लिए हैश एड्रेसिंग और मर्कल रसीदें।

5) आदेश, प्रसव और अंतिम रूप

वितरण मॉडल:
  • कम से कम एक बार (डिफ़ॉल्ट); पहचान/मृत्यु आवश्यक)।
  • आउटबॉक्स/इनबॉक्स + आइडेम्पोटेंट उपभोक्ता के माध्यम से बिल्कुल एक बार प्रभाव।
  • आदेश: पार्टी के भीतर गारंटी; अंतर-पक्षीय आदेश की गारंटी नहीं है।
  • अंतिम रूप: स्टेटस 'देखा गया → पुष्टि (K) → अंतिम रूप दिया गया → अमान्य (पुनर्ग)'; आशावादी - विवाद खिड़की के लिए।

6) आइडेम्पोटेंस और डेडअप

घटनाओं के लिए पहचान कुंजी:
  • 'idempotency _ key = ${chainId}|${block}|${tx}|${logIndex}|${type}'
नियम:
  • कुंजी द्वारा अपसर्ट करें, deduplication विंडो का TTL ≥ 72 घंटे।
  • एक संघर्ष के लिए, पेलोड "सत्य का स्रोत" नीति (प्राथमिकता, संस्करण, हस्ताक्षर) है।
  • HTTP अनुरोधों के लिए, हेडर 'Idempotency-Key' + प्रतिक्रिया लॉग है।

7) कतारें, बैकप्रेशर और कोटा

कतारें: कुंजी द्वारा पार्टियां; "जहरीले" संदेशों के लिए डीएलक्यू।

Backpressure: क्रेडिट/टोकन, अधिकतम-इनफ्लाइट सीमा, सर्किट-ब्रेकर।

कोटा/QoS: P0 (महत्वपूर्ण), P1 (उत्पाद), P2 (थोक)। स्प्लिट पूल/आरपीएस लिमिट/बाइट्स/एस/सदस्यता।

प्रवेश नियंत्रण: "महंगे" अनुरोधों का प्रारंभिक इनकार, रेंज/आकार द्वारा गार्ड।

8) स्थिरता और डेटा मॉडल

पार्टी/नोड के भीतर पढ़ें-आप लिखें।

क्षेत्रों/पक्षों के बीच अंतिम निरंतरता।

कुछ सेटों (काउंटर, सेट) के संघर्ष-मुक्त प्रतिकृति के लिए सीआरडीटी।

तेजी से बूटस्ट्रैप और नियतात्मक रीप्ले के लिए स्नैपशॉट + लॉग।

9) सुरक्षा और विश्वास

नोड्स, कुंजी पिनिंग, घुमाव के बीच mTLS।

संदेश/वेबहुक हस्ताक्षर, टाइमस्टैम्प और एंटी-रीप्ले विंडो।

जाने/आराम करने पर एन्क्रिप्शन; क्षेत्रीय कुंजियों का अलगाव।

PII-कम से कम: टोकन, लेबल/मेट्रिक्स में व्यक्तिगत डेटा का निषेध।

10) दक्षता: पैकेजिंग, संपीड़न, कैश

बैचिंग: ओवरहेड को कम करने के लिए छोटे संदेशों का समूह।

संपीडनः zstd/gzip सुरक्षित शब्दकोशों के साथ।

नकदी: नकारात्मक उत्तर और "गर्म" निर्देशिका; घटना द्वारा टीटीएल और विकलांगता।

11) डेटा आरेख (संदर्भ)

प्रवाह/लॉट रजिस्टर

sql
CREATE TABLE streams (
name TEXT PRIMARY KEY,
partitions INT,
qos TEXT,        -- P0    P1    P2 retention_days INT,
schema_version TEXT
);

CREATE TABLE offsets (
stream TEXT, partition INT, consumer_group TEXT,
offset BIGINT, updated_at TIMESTAMPTZ,
PRIMARY KEY (stream, partition, consumer_group)
);

इवेंट लॉग (idempotent upsert)

sql
CREATE TABLE events_core (
id UUID PRIMARY KEY,
idempotency_key TEXT UNIQUE,
ts TIMESTAMPTZ,
partition_key TEXT,
type TEXT,
payload JSONB,
status TEXT,      -- observed    confirmed    finalized    invalidated signature TEXT
);

डीएलक्यू/संगरोध

sql
CREATE TABLE dlq (
id UUID PRIMARY KEY,
stream TEXT, partition INT, offset BIGINT,
reason TEXT, payload JSONB, ts TIMESTAMPTZ
);

12) नीतियां (YAML)

QoS और सीमाएँ

yaml qos:
P0: { ack_timeout_ms: 2000, retries: 3, backoff_ms: [100,400,800], rps_per_org: 1500 }
P1: { ack_timeout_ms: 5000, retries: 2, rps_per_org: 800 }
P2: { best_effort: true, rps_per_org: 200 }
limits:
max_message_bytes: 1048576 max_stream_subscriptions_per_client: 20

अंतिम रूप और विंडो

yaml finality:
eth-mainnet: { k: 12 }
polygon:   { k: 256 }
optimistic: { k: 0, challenge_minutes: 20 }

रूटिंग/रेजीडेंसी

yaml routing:
prefer_local_region: true fallback: [nearest_healthy, master_hub]
residency:
eu: ["eu"]
uk: ["uk"]

13) अवलोकन: SLI/SLO

SLI (कोर):
  • लेटेंसी p95/p99 (ingress→egress, प्रति-स्ट्रीम/QoS)।
  • सफलता दर/गिरावट दर।
  • पार्टी द्वारा कतार लाग p95 और उपभोक्ता अंतराल।
  • ताजगी p95 (ingest→consume)।
  • पुनः org/अमान्य दर (यदि ऑन्चेन)।
  • डेडअप दक्षता (% अक्षम रूप से अवशोषित हो जाता है)।
  • जियो-हिट अनुपात (स्थानीय रूप से सेवित)।
एसएलओ (स्थल):
  • P0 विलंबता p95 ≤ 400 ms; सफलता ≥ 99। 95%; कतार-अंतराल p95 ≤ 2 с; ताजगी p95 ≤ 60 с।
  • डेडअप दक्षता ≥ 99%; DLQ ≤ 0। 1% यातायात।

डैशबोर्ड: स्ट्रीम कोर/लैग एंड फ्रेशनेस/क्यूओएस एंड एरर्स/जियो/सिक्योरिटी (एमटीएलएस/हस्ताक्षर)।

14) उपभोक्ता पैटर्न

आउटबॉक्स/इनबॉक्स: परमाणु प्रकाशन और पहचान अनुप्रयोग।

बिल्कुल एक बार प्रभाव: अंतिम लागू कुंजी और संस्करण संग्रहीत करें।

वाटरमार्क: देर से डेटा।

पहचान साइड-इफेक्ट्स: केवल कुंजी और प्रतिक्रिया लॉग के साथ बाहरी प्रश्न।

15) गिरावट मोड

केवल अंतिम-मोड: हम केवल अंतिम घटनाओं को जारी करते हैं।

केवल संदर्भ पुस्तकों के लिए कैश-भारी तरीके से ठंड।

धाराओं के लिए थ्रॉटल पी 2 और "आहार मोड" (ताज़ादर कम)।

केवल द्वितीयक एपीआई के लिए पढ़ें।

16) डाउनटाइम-फ्री रिलीज़ और माइग्रेशन

प्रवाह और उपभोक्ताओं द्वारा ब्लू-ग्रीन/कैनरी।

स्कीमा-पहले: केवल खेतों को जोड़ें; प्रमुख - विषयों के समानांतर संस्करण।

ऑफसेट पलायन: छाया उपभोक्ता, अंतराल/सफलता तुलना, स्विचिंग।

17) परिचालन विनियम

दैनिक: एसएलओ रिपोर्ट (विलंबता/सफलता/अंतराल/ताजगी), हस्ताक्षर ऑडिट, डीएलक्यू जांच।

साप्ताहिक: बैचों/कोटा का संशोधन, डीआर परीक्षण (स्नैपशॉट से बूटस्ट्रैप), डेडप दक्षता विश्लेषण।

मासिक: अराजकता परीक्षण (हानि/जिटर, ब्रोकर विफलता, पुनर्जन्म-फट), अंतिम खिड़कियों का संशोधन।

रिलीज से पहले: कैनरी ≥120 मिन, एसएलओ गेट्स, रोलबैक प्लान।

18) प्लेबुक की घटनाएं

ए। कतार-लाग/उपभोक्ता-लाग विस्फोट

1. उपभोक्ताओं/केईडीए को बढ़ाना; 2) पुनर्वितरण पार्टियों; 3) P2 और थोक नौकरियों को फ्रीज करें; 4) "हॉट" कुंजियों का विश्लेषण।

बी। पी 95 लेटेंसी पी 0 की वृद्धि

1. P2-throttle, P0 प्राथमिकता; 2) स्केल गेटवे/ब्रोकर; 3) केवल संदर्भ पुस्तकों के लिए कैश; 4) बाहरी-इजेक्शन।

सी। हाई डीएलक्यू/डबिंग

1. पहचान कुंजी/टीटीएल जाँचें; 2) डीडअप को मजबूत करें; 3) शोर निर्माता को सीमित करें; 4) ठीक होने के बाद फिर से खेलना।

डी। बहाव योजनाएं/अनुबंध

1. सख्त मोड सक्षम करें (अवैध काटें); 2) निर्माता को सूचित करें; 3) एडाप्टर जारी करें; 4) लिंटर्स अपडेट करें।

ई। निवास/हस्ताक्षर का उल्लंघन

1. निर्यात/चैनल इकाई; 2) कुंजियों/सर्ट का रोटेशन; 3) ऑडिट और पोस्टमार्टम; 4) नीतियों को अद्यतन करना।

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

1. धारा प्रकार और विभाजन कुंजी को परिभाषित करें।

2. के/विवाद विंडो के साथ पहचान/डीडअप और अंतिम रूप सक्षम करें।

3. कतारें, QoS, कोटा और बैकप्रेशर कॉन्फ़िगर करें।

4. एमटीएलएस/हस्ताक्षर और आवास नीति चलाएँ।

5. स्कीमा/रजिस्टर (धारा, ऑफसेट, डीएलक) और एसएलआई/एसएलओ टेलीमेट्री भरें।

6. कैनरी/ब्लू-ग्रीन और डाउनटाइम-फ्री सर्किट माइग्रेशन का आयोजन करें।

7. गिरावट मोड और घटना प्लेबुक बाहर काम करें।

20) शब्दावली

बैकप्रेशर - इनपुट लोड नियंत्रण (क्रेडिट/टोकन/सीमा)।

DLQ - समस्या संदेश के लिए "मृत कतार"।

सीआरडीटी - समन्वय के बिना संघर्ष समाधान के साथ डेटा संरचनाएं।

अंतिम - घटना/राज्य की अपरिवर्तनीयता।

वास्तव में एक बार प्रभाव - कम से कम एक बार डिलीवरी पर दोहराएं-सुरक्षित परिणाम।

वाटरमार्क - देर से होने वाली घटनाओं के लिए मार्क प्रोसेसिंग प

बाहरी-अस्वीकृति - पूल से अपमानित उदाहरणों का बहिष्कार।

नीचे की रेखा: नोड्स के बीच डेटा प्रवाह न केवल एक "कतार और श्रोता" है, बल्कि आदेश, अंतिम रूप, पहचान, सुरक्षा और अवलोकन का एक प्रणालीगत अनुशासन है। मानक विभाजन कुंजी, QoS/कोटा, सख्त योजनाएं और SLO, गिरावट मोड और प्लेबुक के साथ, पारिस्थितिकी तंत्र स्थिर डेटा ट्रांसमिशन चैनल पैमाने पर और ऑडिट के तहत देते हैं।

Contact

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

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

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

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

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

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