WebHook की जगह /events दीजिए
(blog.syncinc.so)- सिस्टमों के बीच integration के लिए WebHook का उपयोग किया जाता है, लेकिन
→ server down होने पर समस्याएँ आती हैं, और यह अस्थायी होने के कारण गलत तरीके से process या खो जाने की संभावना रहती है
→ इन समस्याओं को हटाने के लिए Kafka आदि से buffering की जा सकती है, लेकिन यह झंझटभरा है
- दो सिस्टमों के synchronization के लिए '/events' endpoint का प्रस्ताव
→ Stripe द्वारा उपयोग किया जाने वाला API
→ पिछले 30 दिनों के सभी create/change/delete events को लाया जा सकता है
→ polling के जरिए, मनचाहे समय पर, जितनी ज़रूरत हो, कई बार भी लाया जा सकता है
→ long polling करने पर load भी कम किया जा सकता है
5 टिप्पणियां
लगता है Twitch API भी webhook से EventSub पर migrate हो रहा है, शायद यही ट्रेंड है..
दो सिस्टम्स के बीच synchronization ऐसा विषय है जिस पर लगातार चर्चा होती रही है और बदलाव भी आते रहे हैं। (विवाद भी काफ़ी हैं)
Stripe का /events API दिलचस्प लगा, इसलिए उसका लिंक लाकर यहाँ साझा कर रहा हूँ।
मुझे व्यक्तिगत रूप से ऐसे तरीके ज़्यादा पसंद नहीं हैं जो server पर बोझ डालते हैं, इसलिए मैं इस पर पूरी तरह आश्वस्त नहीं हूँ..
लेकिन Stripe के लिए, जो ऐसी payment जानकारी संभालता है जिसे किसी भी हालत में मिस नहीं किया जाना चाहिए, यह शायद data reliability बढ़ाने का एक तरीका हो सकता है।
Kafka जैसे mq का इस्तेमाल करने की तुलना में इसमें क्या ज़्यादा बेहतर है... समझ नहीं आ रहा।
Kafka उन सिस्टम्स के बीच उपयुक्त है जिन्हें अंदरूनी तौर पर नियंत्रित किया जा सकता है,
लेकिन यहाँ लगता है कि विषय ही ऐसा है जिसमें अलग बाहरी डेवलपर्स या बाहरी सिस्टम्स के लिए access और integration को आसान बनाना मुख्य है.
आह, हाँ, ऐसा फ़र्क तो होगा ही haha open system बनाना हो, तो उस शर्त में ऐसा ही होगा
धन्यवाद