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