WinUpGo
खोज
CASWINO
SKYSLOTS
BRAMA
TETHERPAY
777 FREE SPINS + 300%
क्रिप्टोक्यूरेंसी कैसीनो क्रिप्टो कैसीनो टॉरेंट गियर आपकी सर्व-उद्देश्य धार खोज है! धार गियर

प्रति दिन लाखों लेनदेन के असफल-सुरक्षित प्रसंस्करण का निर्माण कैसे करें

पूरा लेख

💡 फिनटेक/गेमिंग और संबंधित उद्योगों के उत्पाद और मंच टीमों के लिए तकनीकी सामग्री। खेलने के लिए कॉल नहीं। "लेनदेन" से हमारा अर्थ है मौद्रिक/लेखांकन लेनदेन (डेबिटिंग, क्रेडिट, ट्रांसफर, सेटलमेंट, रिटर्न)।

1) लेनदेन के लिए असफल-सुरक्षित का क्या मतलब है

असफल-सुरक्षित है जब कोई भी असफल स्थिति पैसे और डेटा खोए बिना सुरक्षित स्टॉप या मुआवजा राज्य की ओर जाती है। उद्देश्य:
  • "डबल डेबिट/क्रेडिट" = 0।
  • खोए हुए लेनदेन/घटनाएँ = 0।
  • विलंबता/वितरण, स्पष्ट गिरावट मोड और डीआर द्वारा अनुमानित एसएलओ।

आधार - मौद्रिक अपरिवर्तनीय (एक स्थान पर सही संतुलन), पहचान, घटनाओं की सुपुर्दगी।


2) वास्तुशिल्प सिद्धांत (छोटे)

1. सत्य का एकल स्रोत: बैलेंस शीट और लेखांकन - लेजर/वॉलेट में। प्रक्रियाओं की स्थिति के आसपास की सेवाएं, पैसा नहीं।

2. हर जगह पहचान: सभी "लिखते हैं" ऑपरेशन 'आइडेम्पोटेंसी-की' लेते हैं; दोहराने से एक ही परिणाम मिलता है।

3. डिलीवरी गारंटी के साथ घटना: आउटबॉक्स/सीडीसी, कतारें, डीएलक्यू, डेडअप।

4. सागास और मुआवजे, "मैनुअल एडिट्स" नहीं।

5. बैक-प्रेशर और प्राथमिकताएं: सिस्टम धीमा हो जाता है, लेकिन ढह नहीं जाता है।

6. डिफ़ॉल्ट अवलोकन: संरचित लॉग, ट्रेसिंग, मेट्रिक्स।

7. बहु-क्षेत्र और डीआर: परिसंपत्ति-संपत्ति/परिसंपत्ति-दायित्व, नियमित व्यायाम।


3) संदर्भ टोपोलॉजी


एज/एपीआई GW ──Command API ──App सेवा (सागास)
│           │
│ (आउटबॉक्स TX)

रेटलिमिट आउटबॉक्स तालिका ──Publisher ──Kafka/Pulsar ──Consumers
│                      │
WAF └─DLQ/Replay
│
└─Ledger/Wallet (ACID, पहचान डेबिट/क्रेडिट)
│
    

प्रमुख स्थान: आउटबॉक्स (एक टीम का परमाणु रिकॉर्ड और एक घटना का "मसौदा"), प्रकाशक (वास्तव में एक वितरण), उपभोक्ता (एक डीडप कुंजी के साथ पहचानने वाला), डीएलक्यू/रिप्ले (नियंत्रित पुनरावृत्ति)।


4) मौद्रिक अपरिवर्तनीय और स्थिरता

बैलेंस द्वारा सही - लेजर (एसीआईडी, क्रमबद्ध लेनदेन या खाते द्वारा सख्त आदेश)।

मनी कमांड: 'डेबिट', 'क्रेडिट', 'होल्ड', 'कमिट', 'रोलबैक' अज्ञात हैं।

संयुक्त प्रक्रियाएं सागा की तरह बनाई जाती हैं:
  • 'ऑथोराइज़करें सेटलमेंट क्रेडिट', 'अनुरोध सबमिट करें सेटलमेंट/फेल', 'रिफंड/शून्य'।
  • कोई प्रत्यक्ष बैलेंस शीट लेजर को दरकिनार नहीं करती है।

5) आइडेम्पोटेंस: प्रमुख डिजाइन

कुंजी को विशिष्ट रूप से व्यापार लेनदेन की पहचान करनी चाहिए:
  • 'bet _ id + राशि + मुद्रा', 'भुगतान _ intent + capture _ id', 'payout _ id', 'chan _ txid'।
  • परिणाम कुंजी द्वारा भंडारित करें (प्रतिक्रिया कैश)। एक ही कुंजी के साथ दोहराएँ - समान शरीर/स्थिति।
  • बेमेल मॉनिटर करें - अलग राशि के साथ एक ही कुंजी → 'IDEMPOTENCY _ MISMATCH'।

6) कतारें, आदेश और मृत्यु

वास्तव में एक बार प्रभाव परिवहन द्वारा नहीं, बल्कि अज्ञात उपभोक्ताओं + डीडअप स्टोरेज (एलआरयू/रेडिस/डीबी सी टीटीएल) द्वारा प्राप्त किया जाता है।

कुंजी क्रम रखें (पार्टीशन कुंजी = 'खाता _ id/गोल _ id/player _ id').

"विषम" कुंजियों के लिए - प्रति इकाई राज्य मशीन।
  • DLQ अनिवार्य है: N के प्रयासों के बाद - मानव-पढ़ने योग्य कारण के साथ एक अलग विषय में।

7) आउटबॉक्स/सीडीसी: घटनाएं "खो क्यों नहीं जाती"

एक लेनदेन के ढांचे के भीतर, हम सेवा डेटाबेस में एक व्यवसाय परिवर्तन और एक आउटबॉक्स प्रविष्टि दोनों रिकॉर्ड करते हैं।

एक अलग प्रकाशक आउटबॉक्स पढ़ ता है और इसे पुष्टि बस में प्रकाशित करता है।

वैकल्पिक रूप से, डेटाबेस स्तर (डेबेजियम/प्रतिकृति लॉग) पर सीडीसी (डेटा कैप्चर बदलें)।

लेनदेन से पहले कोई "इवेंट लॉग" नुकसान का एक स्रोत नहीं है।


8) बैक-प्रेशर और प्राथमिकताएं

टोकन बाल्टी और इनपुट कोटा (किरायेदार/ब्रांड/क्षेत्र के अनुसार)।

प्राथमिकता कतारें: प्रोमो/टेलीमेट्री के ऊपर धन पथ।

जब अतिभारित किया जाता है: मोड 'कोई नया सत्र/निवेदन नहीं', द्वितीयक विशेषताओं को जमना, कर्नेल सहेजना.

ऑटो-क्षरण: पृष्ठभूमि के कार्यों की आवृत्ति में कटौती, गतिशील रूप से महत्वपूर्ण श्रमिकों का विस्तार


9) बहु-क्षेत्रीय स्थिरता

एपीआई और कतारों के लिए संपत्ति, स्थानीय लेजर (या क्षेत्र/मुद्रा शार्डिंग के साथ वैश्विक)।

डेटा रेजिडेंसी: मनी/पीआईआई/लॉग स्पष्ट नियमों के बिना पार नहीं किए जाते हैं।

घटना प्रतिकृति परस्पर अतुल्यकालिक, चिह्नित 'क्षेत्र' है।
  • RPO/RTO: RPO ≤ 5 मिनट, RTO ≤ 30 मिनट का लक्ष्य; नियमित रूप से जाँच करें।

10) एसएलओ/एसएलआई और डैशबोर्ड

लैंडमार्क (उदाहरण):
  • p95 'authorize/debit/credit' <150-300 ms (आंतरिक पथ)।
  • p95 एंड-टू-एंड "बस komanda→sobytiye" <1-2 एस।
  • वेबहुक/बाहरी घटनाओं की डिलीवरी p99 <5 मिनट।
  • खोया/डुप्लिकेटेड लेनदेन = 0 (अनुबंध जांच)।

मेट्रिक्स: विलंबता p50/p95/p99, त्रुटि-दर (4xx/5xx/व्यवसाय), उपभोक्ता/कतार अंतराल, पुन: तूफान, निपटान लैग, वेबहुक लैग, डीएलक्यू आकार, 'IDEMPOTENENY CY ORY CD D D COOOS D D D D S S)' आवृत्स्रिक्रीच 'आवृत्री।


11) अवलोकन और लेखा परीक्षा

संरचित JSON 'trace _ id', 'idempotency _ key', Business ID, त्रुटि कोड के साथ लॉग।

OpenTelemetry: HTTP/gRPC/DB/बस ट्रेसिंग, सागा के फैलाव।

WORM ऑडिट: अपरिवर्तनीय महत्वपूर्ण परिवर्तन लॉग (सीमा, कुंजी, प्रोमो/जैकपॉट कॉन्फ्रेंस)।

लॉग एक्सेस के लिए PII/सीक्रेट मास्किंग, क्षेत्रीय बाल्टी, RBAC/ABAC।


12) विश्वसनीयता परीक्षण

अनुबंध परीक्षण: पुनरावृत्ति/डुप्लिकेट, आउट-ऑफ-ऑर्डर, आइडेम्पोटेंसी, डेडअप।

लोड: पीक प्रोफाइल (x10), कतारों की स्थिरता और डीबी।

अराजकता के मामले: लेजर/वॉलेट ड्रॉप, कतार/क्षेत्र डंप, सीडीसी देरी, रिट्रे "तूफान"

गेम डेज़: एमटीटीआर के साथ नियमित डीआर अभ्यास और घटनाएं।


13) भंडारण और डेटा

पैसे के लिए OLTP: लेन-देन डेटाबेस (RPO≈0), सख्त सूचकांक, महत्वपूर्ण संस्थाओं के लिए क्रमबद्ध स्तर।

कैश (रेडिस) - केवल त्वरण के लिए, "सत्य" के लिए नहीं। "टीटीएल + जिटर, कैश भगदड़ सुरक्षा।

OLAP/DWH - रिपोर्ट/एनालिटिक्स के लिए। सीडीसी/बस से प्रवाह, ओएलटीपी पर कोई भार नहीं।

डेटा स्कीमा लंबवत हैं; डाउनटाइम (विस्तार/अनुबंध) के बिना प्रवास।


14) रिट्रेस का ऑर्केस्ट्रेशन

RPC पर घातीय बैकऑफ + जिटर, डेडलाइन/टाइमआउट।
  • प्रत्येक परत पर पहचान दोहराने (ग्राहक → सेवा → उपभोक्ता)।
  • रेट्राई कोटा, "तूफान" (सर्किट ब्रेकर, हेज किए गए अनुरोध जहां उपयुक्त) से बचाव।
  • डीएलक्यू से केवल "सुरक्षित" विंडो में पुनरावृत्ति करें, गति सीमा के साथ।

15) परिवहन की सुरक्षा

हर जगह mTLS S2S, अल्पकालिक टोकन (OAuth2 CC), वेबहुक के लिए बॉडी सिग्नेचर (HMAC/EdDSA)।

तिजोरी/एचएसएम में रहस्य, रोटेशन, प्रति ब्रांड/क्षेत्र कुंजी।
  • राजनेता कम से कम विशेषाधिकार, मैनुअल ऑपरेशन पर "चार आँखें"।

16) नमूना अनुबंध (टुकड़े)

पहचान डेबिट कमांड


POST/v1/वॉलेट/डेबिट
हेडर: X-Idempotency-Key: debit_pi_001, X-Trace-Id: tr_a1b2
{
"" राशि ": {" माइनर _ इकाइयां ": 5000," मुद्रा ":" EUR "}", कारण ":" भुगतान ","  "
}
→ 200 {"स्थिति ": "प्रतिबद्ध", "entry_id":"e_77"}
(एक ही जवाब दोहराएं)

आउटबॉक्स से घटना

json
{
"event_id":"uuid," "event_type":"wallet। डेबिट। प्रतिबद्ध," " " " " ", "मुद्रा":" EUR", " "  " " "। 3. 0"
}

17) चेकलिस्ट

प्लेटफ़ॉर्म/ऑपरेटर

  • संतुलन पर सच है - एक लेजर; कोई वर्कअराउंड नहीं हैं।
  • सभी 'Idempotency-Key' के साथ संचालन लिखते हैं; कुंजी प्रतिक्रिया संग्रही
  • आउटबॉक्स/सीडीसी सभी डोमेन रिकॉर्ड, डीएलक्यू और प्रबंधित रीप्ले के लिए।
  • प्राथमिकता कतारें, बैक-प्रेशर, गिरावट मोड।
  • विभाजन कुंजियों का चयन व्यापार कुंजियों द्वारा किया जाता है; उपभोक्ता पहचाने जाते हैं।
  • SLO डैशबोर्ड, OpenTelemetry, WORM ऑडिट।
  • नियमित DR/xaoc अभ्यास, अनुबंध/लोड परीक्षण।
  • डेटा रेजिडेंसी, एन्क्रिप्शन, वॉल्ट/एचएसएम, कुंजी रोटेशन।

प्रदाता/एकीकरण

  • ट्रेस-आईडी/आइडेम्पोटेंसी-की भेजना, पुनर्वितरण के लिए तैयार है।
  • वेबहुक पर हस्ताक्षर किए गए और निरस्त किए गए हैं।
  • योजनाओं/अनुबंधों के संस्करण देखे जाते हैं (सेवर, मूल्यह्रास)।

18) लाल झंडे (विरोधी पैटर्न)

लेजर में बिना कमांड के वेबहुक द्वारा शेष राशि परिवर्तित होती है।

पहचान की कमी → डबल राइट-ऑफ/क्रेडिट।
  • आउटबॉक्स/सीडीसी को दरकिनार करते हुए घटनाओं को प्रकाशित कर रहा है।
  • बैक-प्रेशर के बिना मोनोलिथ: पीक ट्रैफिक सब कुछ नीचे लाता है।
  • OLTP और रिपोर्ट का मिश्रण: BI लड़ाकू डेटाबेस को हिट करता है।
  • डीएलक्यू/रीप्ले की अनुपस्थिति; त्रुटियों का "शांत" अंतर्ग्रहण।
  • कोई क्षेत्रीय PII/धन अलगाव नहीं; कई ब्रांडों में साझा कुंजी।
  • डेटाबेस में संतुलन/स्थिति का मैनुअल संपादन।

19) नीचे की रेखा

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

× खेलों में खोजें
खोज शुरू करने के लिए कम से कम 3 अक्षर दर्ज करें।