WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग · पाठ

संदेश अभिस्वीकृति और डिलीवरी की गारंटी

अभिस्वीकृति, पुनःप्रयास और इडेम्पोटेंसी जोड़कर सुनिश्चित करें कि संदेश चुपचाप खो न जाएँ और विश्वसनीय डिलीवरी की गारंटी मिले।

पाठ 4, कुल 4 में से13 चरण

संदेश अभिस्वीकृति और डिलीवरी की गारंटी, CoddyKit पर WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

संदेश गायब हो सकते हैं

यदि भेजने के बीच में सॉकेट टूट जाए, सर्वर क्रैश हो जाए या संसाधित होने से पहले क्लाइंट फिर से लोड हो जाए, तो संदेश खो सकता है। पावती के बिना किसी भी पक्ष को पता नहीं चलता कि ऐसा हुआ।

डिलीवरी की गारंटी के स्तर

तीन सामान्य गारंटियाँ:

  • अधिकतम एक बार: संदेश खो सकता है, लेकिन कभी दोहराया नहीं जाता
  • कम-से-कम एक बार: संदेश नहीं खोता, लेकिन दोहराया जा सकता है
  • ठीक एक बार: संदेश न खोता है, न दोहराया जाता है (सबसे कठिन)

एप्लिकेशन-स्तरीय पावतियाँ

WebSockets केवल परिवहन-स्तर पर डिलीवरी की पुष्टि करते हैं, संसाधन की नहीं। यह जानने के लिए कि संदेश संभाल लिया गया है, प्राप्तकर्ता को स्पष्ट ack वापस भेजना होगा।

संदेश आईडी जोड़ना

हर संदेश को एक विशिष्ट आईडी दें, ताकि पावतियाँ उसका संदर्भ दे सकें।

const msg = { id: crypto.randomUUID(), type: 'order', data };
ws.send(JSON.stringify(msg));

पावती भेजना

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

ws.send(JSON.stringify({ type: 'ack', id: msg.id }));

बिना पावती वाले संदेशों का पता रखना

भेजने वाला उन संदेशों का मानचित्र रखता है जो अभी प्रक्रिया में हैं, जब तक उनकी पावती नहीं आ जाती।

const pending = new Map();
pending.set(msg.id, msg);

समय-सीमा पर पुनः प्रयास

यदि किसी समय-सीमा के भीतर पावती नहीं आती, तो संदेश फिर से भेजें। इसी तरह कम-से-कम एक बार डिलीवरी हासिल की जाती है।

setTimeout(() => {
  if (pending.has(msg.id)) ws.send(JSON.stringify(msg));
}, 3000);

डुप्लिकेट की समस्या

पुनः प्रयासों से एक ही संदेश दो बार पहुँच सकता है, जैसे संदेश नहीं बल्कि पावती खो गई हो। इसलिए कम-से-कम एक बार डिलीवरी का अर्थ है कि प्राप्तकर्ता को डुप्लिकेट संदेश दिखाई दे सकते हैं।

आइडेम्पोटेंसी से समाधान

प्रसंस्करण को आइडेम्पोटेंट बनाएँ: एक ही आईडी को दो बार संभालने का प्रभाव उसे एक बार संभालने जैसा ही हो। देखी जा चुकी आईडी का रिकॉर्ड रखें और दोहराव को अनदेखा करें।

const seen = new Set();
if (seen.has(msg.id)) return;
seen.add(msg.id);
process(msg);

ठीक एक बार डिलीवरी की ओर

सिरे से सिरे तक वास्तविक ठीक-एक-बार डिलीवरी की गारंटी देना असंभव है, लेकिन कम-से-कम एक बार डिलीवरी और आइडेम्पोटेंट प्रसंस्करण मिलकर वही व्यावहारिक परिणाम देते हैं, जिसका अधिकांश प्रणालियाँ उपयोग करती हैं।

सर्वोत्तम अभ्यास

विश्वसनीय डिलीवरी बनाएँ:

  • संदेशों को विशिष्ट आईडी दें
  • एप्लिकेशन-स्तरीय पावतियाँ आवश्यक करें
  • समय-सीमा के साथ बिना पावती वाले संदेशों का पुनः प्रयास करें
  • डुप्लिकेट को संभालने के लिए प्रसंस्करण को आइडेम्पोटेंट बनाएँ

त्वरित जाँच

डिलीवरी से जुड़े अपने ज्ञान की जाँच करें।

पुनरावलोकन

आपने रीयल-टाइम संदेशों में डिलीवरी की गारंटियाँ जोड़ीं:

  • अधिकतम एक बार, कम-से-कम एक बार और ठीक एक बार डिलीवरी को समझें
  • संदेश आईडी और एप्लिकेशन-स्तरीय पावतियों का उपयोग करें
  • बिना पावती वाले संदेशों का पुनः प्रयास करें
  • कम-से-कम एक बार डिलीवरी को आइडेम्पोटेंसी के साथ मिलाएँ

अब आपका सिस्टम संदेशों को चुपचाप नहीं खोता।

शुरुआत निःशुल्क

एआई शिक्षक के साथ WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
47

अक्सर पूछे जाने वाले प्रश्न

क्या “संदेश अभिस्वीकृति और डिलीवरी की गारंटी” पाठ निःशुल्क है?

हाँ—“संदेश अभिस्वीकृति और डिलीवरी की गारंटी” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“संदेश अभिस्वीकृति और डिलीवरी की गारंटी” में मैं क्या सीखूँगा?

अभिस्वीकृति, पुनःप्रयास और इडेम्पोटेंसी जोड़कर सुनिश्चित करें कि संदेश चुपचाप खो न जाएँ और विश्वसनीय डिलीवरी की गारंटी मिले। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“संदेश अभिस्वीकृति और डिलीवरी की गारंटी” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. डिस्कनेक्शन और पुनःकनेक्शन संभालना
  2. मज़बूत त्रुटि प्रसार और पुनर्प्राप्ति
  3. हार्टबीट और कनेक्शन बनाए रखना
  4. संदेश अभिस्वीकृति और डिलीवरी की गारंटी
← WebSockets और रीयल-टाइम सिस्टम प्रोग्रामिंग पर वापस जाएँ