सैंडबॉक्स और परीक्षण वातावरण
1) हमें चयनित आकृति की आवश्यकता क्यों है
सैंडबॉक्स और परीक्षण वातावरण आपको अनुमति देते हैं:- उत्पादन को जोखिम में डाले बिना परिकल्पना और एकीकरण का जल्दी परीक्
- प्रतिक्रिया चक्र को गति दें (मिनटों में पीआर → पूर्वावलोकन-लिंक);
- एक सुरक्षित प्रतिलिपि पर त्रुटियों और घटनाओं को पुन: पेश करें;
- अनुबंध, एकीकरण, भार और अराजकता परीक्षण करें
- ट्रेन टीमों और "खेल के मैदान" पर भागीदारों को लैस करें।
मुख्य सिद्धांत: अलगाव, विन्यास समता, परीक्षण नियतावाद, डेटा सुरक्षा, डिफ़ॉल्ट अवलोकन।
2) पर्यावरण और उनके उद्देश्य का पदानुक्रम
स्थानीय (देव) - स्थानीय विकास: डॉकर Compose/Testconteners, हल्के प्रदाता सिमुलेटर।
सैंडबॉक्स नकली डेटा और वास्तविक प्रोटोकॉल के साथ बाहरी एकीकरण (PSP, KYC, गेम एग्रीगेटर्स) के लिए एक स्टैंड है।
क्यूए/टेस्ट - एकीकरण और ई 2 ई परीक्षण, स्थिर डेटा सुधार, रीग्रेशन।
स्टेज/प्री-प्रोड - उत्पादन के लिए यथासंभव रूपरेखा (कॉन्फ़िगरेशन/लिमिट/टोपोलॉजी)।
पंचांग पूर्वावलोकन - पर्यावरण "पीआर पर" (घंटों/दिनों के लिए रहता है), ऑफ़ लाइन संसाधन और यूआरएल, विलय/बंद होने के बाद ऑटो-विध्वंस।
समता नियम "टेस्ट/स्टेज ≈ Prod में सेटिंग्स, नीतियां और बुनियादी ढांचे की निर्भरता" है, अंतर केवल रहस्य और सीमाओं में हैं।
3) सैंडबॉक्स प्रकार
1. प्रदाता सैंडबॉक्स: बाहरी PSP/KYC/गेम परीक्षण समापन बिंदु प्रदान करते हैं; हम दुर्लभ और गलत मामलों (टाइमआउट, 5xx, अस्थिर हस्ताक्षर) का अनुकरण करने के लिए सिमुलेटर की एक परत जोड़ ते हैं।
2. कार्यात्मक सैंडबॉक्स: डोमेन सेवाओं (भुगतान, बोनस, उपलब्धियां) + फिक्स के स्वायत्त उदाहरण।
3. प्रशिक्षण/डेमो सैंडबॉक्स: डेवपोर्टल, कुंजियों, कोटा और दर सीमा के साथ भागीदारों के लिए एपीआई "शोकेस"।
4) अनुबंध, सिमुलेटर और मोकी
अनुबंध-परीक्षण (संधि/बुफ): उपभोक्ता/प्रदाता योजनाओं पर सहमत हैं; CI पर असंगत परिवर्तन अवरुद्ध हैं।
प्रदाता सिमुलेटर: प्ले एज केस (डबल कॉलबैक, क्लॉक ड्रिफ्ट, एक्सपायर्ड टाइमस्टैम्प के साथ एचएमएसी सिग्नेचर)।
इवेंट फिक्स (काफ्का/एनएटीएस): केस लाइब्रेरी का भुगतान। अधिकृत ',' kyc। सत्यापित ',' खेल। गोल। बस गए '।
फॉल्ट इंजेक्शन: नियंत्रित देरी, ड्रॉप-रेट, आउट-ऑफ-ऑर्डर संदेश।
वेबहूक सैंडबॉक्स में HMAC हस्ताक्षर का उदाहरण:
X-Timestamp: 1730812800
X-Signature: sha256=hex(hmac_sha256(secret, body + timestamp))
5) परीक्षण डेटा, जीडीपीआर/पीसीआई और गुमनामी
असली पीआईआई/पैन ऑफ-प्रोडक्शन का उपयोग कभी न करें।
गुमनामी: सिंथेटिक्स उत्पादन + संवेदनशील क्षेत्रों का टोकन; केवल डेमो खातों के लिए व्हाइटलिस्टिंग।
डेटा कारखाने: पूर्वानुमानित आईडी और स्टेटस के साथ उपयोगकर्ता/लेनदेन/सत्र कारखाने।
नियतात्मक बीज: टेस्ट रन और बुधवार के बीच समान सुधार।
प्रतिधारण नीति: पूर्वावलोकन वातावरण और परीक्षण डेटाबेस की ऑटो-सफाई।
6) रहस्य और पहुंच
बुधवार को अलग रहस्य; अस्थायी क्रेडिट और प्रतिबंधित भूमि
केएमएस/एचएसएम और घुमाव; गिट में रहस्यों को छोड़ कर।
क्यूए/चरण के लिए आरबीएसी/एबीएसी; एक्सेस ऑडिट, ब्रेक-ग्लास केवल बातचीत के माध
7) गैर-औद्योगिक वातावरण में अवलोकन
लॉग - संरचित, पीआईआई के बिना, मास्किंग के साथ;
मेट्रिक्स लेटेंसी p50/p95/p99, त्रुटि-दर, थ्रूपुट, डीएलक्यू, रेट्राई;
ट्रेसिंग (OTel): इनपुट अनुरोध से सिम्युलेटर तक एंड-टू-एंड 'ट्रेस _ आईडी';
कोड - डैशबोर्ड और अलर्ट के रूप में डैशबोर्ड सेवा के बगल में हैं।
8) पंचांग पूर्वावलोकन वातावरण (प्रति-पीआर)
डिफ़ॉल्ट बर्ताव:- PR → CI एक छवि एकत्र करता है, प्रवासन उत्पन्न करता है, Kubernetes में namespace 'pr-
' उठाता है; - पूर्वावलोकन URL और परीक्षण उपयोगकर्ताओं के टोकन जारी किए जाते हैं;
- सक्षम ट्रेसिंग/मैट्रिक्स; जब पीआर बंद हो जाता है, तो पर्यावरण हटा दिया जाता है।
yaml apiVersion: v1 kind: Namespace metadata:
name: pr-4821 labels:
env: preview owner: team-payments
9) स्थानीय विकास: Compose/Testconteners
न्यूनतम 'डॉकर-कम्पोज़। yml 'स्थानीय रूप से चलाने के लिए:yaml version: "3. 9"
services:
api:
build:.
environment:
- DB_URL=postgres://postgres:postgres@db:5432/app? sslmode=disable
- KAFKA_BROKER=kafka:9092 ports: ["8080:8080"]
depends_on: [db, kafka]
db:
image: postgres:16 environment: [POSTGRES_PASSWORD=postgres]
ports: ["5432:5432"]
kafka:
image: bitnami/kafka:latest environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 ports: ["9092:9092"]
परीक्षणों में निर्भरताओं के स्वचालित उठाने के लिए - सुधार के साथ टेस्टकंटेनर।
10) लोड और स्थिरता परीक्षण
लोड प्रोफाइल: "टूर्नामेंट", "भुगतान तरंगें", "बड़ेपैमाने पर प्रवाह"।
KPI: RPS, p95/p99, संसाधन सीमा (CPU/मेमोरी), TTFB, टाइम-टू-वॉलेट।
अराजकता इंजेक्शन: प्रदाताओं के डिस्कनेक्शन, विलंबता में वृद्धि, "परतदार" नेटवर्क।
सर्किट ब्रेकर/बैकऑफ नीतियों की जांच स्टेज पर की जाती है; डिप्स DLQ में जाते हैं और दोहराते हैं।
11) रोलबैक और रीप्ले नीतियां
डीएलक्यू से घटनाओं के लिए प्रवेश द्वार फिर से बनाएँ (मैनुअल/ऑटो मोड, कुंजियों द्वारा फ़िल्टर).
प्रवासन आधार: पूर्वावलोकन/चरण में ऊपर/नीचे और सूखी दौड़; विघटनकारी परिवर्तनों से सुरक्षा।
12) डेवपोर्टल के साथ एकीकरण
सैंडबॉक्स और प्रदाताओं की सूची, क्षेत्र की आवश्यकताएं, प्रश्नों के उदाहरण।
प्रत्येक पीआर/शाखा के लिए "ओपन पूर्वावलोकन" बटन; SLO/SLA मेट्रिक्स विजेट।
अनुबंधों से एसडीके और पोस्टमैन/अनिद्रा संग्रह का सृजन।
13) सैंडबॉक्स परिधि सुरक्षा
बाहरी सैंडबॉक्स के लिए WAF + IP-allowlist;
प्रति कुंजी कोटा और दर सीमा;
व्यक्तिगत डोमेन/उपडोमेन; निष्क्रिय कुंजियों का स्वचालित निष्कासन;
प्रत्येक बिल्ड पर छवि कमजोरियों और निर्भरता का स्कैन।
14) प्रक्रियाएं: कौन उपयोग करता है और कैसे
डेवलपर्स - स्थानीय और पूर्वावलोकन, तेज फीडबैक।
क्यूए - प्रबंधित डेटा और सिमुलेटर के साथ स्थिर परीक्षण/चरण।
भागीदार - डेवपोर्टल, कोटा और निगरानी के साथ बाहरी सैंडबॉक्स।
एसआरई/प्लेटफ़ॉर्म - लोड प्रोफाइल, अराजकता, एसएलओ सत्यापन।
15) सैंडबॉक्स लॉन्च चेकलिस्ट
- रजिस्ट्री में अनुबंध, सिमुलेटर सफलता/त्रुटियों/टाइमआउट/पुनरावृत्ति को कवर करते हैं।
- परीक्षण डेटा सिंथेटिक, नियतात्मक, कोई पीआईआई/पैन नहीं।
- केएमएस से रहस्य, भूमिकाएं सीमित, ऑडिटिंग सक्षम।
- मेट्रिक्स/ट्रेल्स/लॉग उपलब्ध हैं; त्रुटि-बजट और डीएलक्यू के लिए अलर्ट।
- पंचांग पूर्वावलोकन पीआर और ऑटो-ध्वस्त पर ऊपर जाते हैं।
- लोड प्रोफाइल और अराजकता परिदृश्यों को कोड द्वारा वर्णित किया गया है।
- प्रवासन नीतियां और घटना रीप्ले स्टेज पर जाँच की गई।
- DevPortal गाइड और क्वेरी संग्रह प्रकाशित करता है।
16) कार्यान्वयन रोडमैप
M0-M1 (एमवीपी): स्थानीय वातावरण (कम्पोज़), मूल पीएसपी/केवाईसी सिम्युलेटर, सीआई में अनुबंध परीक्षण, पूर्वावलोकन रिक्त स्थान K8s।
M2-M3: स्थिरता कैटलॉग, कोड के रूप में डैशबोर्ड, डीएलक्यू + मैनुअल रीप्ले, लोड प्रोफाइल।
M4-M6: कुंजी/कोटा, अराजकता बुनियादी ढांचे, एसडीके ऑटोजेन, "समानांतर" प्रवासन नीति में दो संस्करण के साथ पूर्ण बाहरी सैंडबॉक्स।
M6 +: असफलता के साथ भू-वितरित चरण, परीक्षणों में SLA के माध्यम से प्रदाताओं की स्मार्ट मार्ग, डेवपोर्टल में स्वचालित प्रशिक्षण स्क्रिप्ट।
17) पर्यावरण परिपक्वता मॉडल (संक्षिप्त
1. मूल - परीक्षण/चरण, मैनुअल डेटा, कमजोर अलगाव है।
2. उन्नत - सिमुलेटर, अनुबंध परीक्षण, अवलोकन, आंशिक पूर्वावलोकन।
3. विशेषज्ञ - प्रति-पीआर वातावरण, कोड के रूप में अराजकता/लोड, देवपोर्टल, मजबूत सुरक्षा और पूर्ण स्वचालन।
संक्षिप्त निष्कर
उचित रूप से डिज़ाइन किए गए सैंडबॉक्स और परीक्षण वातावरण डिलीवरी के "एयरबैग" और "त्वरक" हैं। अलगाव, उत्पादन के साथ समानता, प्रदाता सिमुलेटर, नियतात्मक परीक्षण डेटा, मजबूत अवलोकन और पूर्वावलोकन वातावरण का स्वचालन एक तेज और विश्वसनीय कोड रिलीज चक्र प्रदान करता है, जिससे प्लेटफ़ॉर्ट स्केलिंग का जोन कम होता है।