Pushpin - अपने API में Push जोड़ें
(pushpin.org)- क्लाइंट कनेक्शन को बनाए रखने वाला proxy server, जिसे किसी भी language/framework के साथ आसानी से integrate किया जा सकता है
- realtime API endpoint आसानी से बनाने में मदद करता है
- HTTP streaming/long polling, WebSocket सपोर्ट
- क्लाइंट को बिल्कुल पता चले बिना (transparent) इस्तेमाल किया जा सकता है
- KONG, 3SCALE जैसे API management tools से realtime endpoints को manage किया जा सकता है
- Rust & C++ में लिखा गया
5 टिप्पणियां
मैंने इसे लगभग दो महीने इस्तेमाल करके देखा है.
PHP जैसी उन environments में, जहाँ real-time processing मुश्किल होती है, इसका बड़ा फ़ायदा महसूस हुआ. सिर्फ़ इस एक बात से कि अलग से real-time server लिखने की ज़रूरत नहीं पड़ती, यह काफ़ी आकर्षक बन जाता है.
खासकर सामान्य PHP projects में real-time endpoint की authentication के लिए जटिल (और झंझट भरे) data exchange के बिना, सिर्फ़ authorized users को Grip header दे देना काफ़ी था, इसलिए business logic पर थोड़ा और ध्यान दे पाया.
PHP से अलग, उन दूसरी languages में जहाँ request को लंबे समय तक पकड़े रखना समस्या नहीं है (?), वहाँ direct real-time endpoint खोलकर इस्तेमाल करने की तुलना में मुझे इसका बहुत बड़ा फ़ायदा महसूस नहीं हुआ...
फिर भी authentication process और scaling जैसे पहलुओं से देखें तो, सैद्धांतिक रूप से यह काफ़ी फ़ायदेमंद solution लगता है.
... लेकिन "सैद्धांतिक रूप से" जैसा विशेषण क्यों लगाना पड़ रहा है, उसकी वजह यह है कि solution खुद थोड़ा unstable है. खासकर proxy server, जिसे इस solution का सबसे महत्वपूर्ण हिस्सा कहें तो भी कम नहीं होगा, काफ़ी unstable है.
मैंने अलग से bugs ढूँढने की कोशिश नहीं की, लेकिन मेरी setting में POST request आते ही उसके बाद की requests कुछ समय के लिए पूरी तरह मर जाती थीं.
GET requests के लिए ही, और खास तौर पर जब Accept header SSE हो, तभी pushpin की ओर जाए ऐसा एक और proxy server सामने रखकर इसे हल किया (???) था, लेकिन अभी भी यह थोड़ा समय से पहले लगा. सिर्फ़ toy projects के लिए...
खैर, production में इस्तेमाल करने लायक बनने से पहले इसमें काफ़ी समस्याएँ हैं, लेकिन idea काफ़ी अच्छा है — इसे मोटे तौर पर ऐसे समेटा जा सकता है.
वाह, अच्छी प्रतिक्रिया के लिए धन्यवाद।
उम्… यह जादू जैसा तो लगता है, लेकिन इसे मौजूदा सामान्य web API के साथ जोड़कर आखिर कहाँ इस्तेमाल किया जाए? यह सवाल अभी भी साफ़ नहीं हो रहा है… sobs
API requests लगातार बढ़ रहे हैं, इसलिए मैं थोड़ा सोच में था, लेकिन ऐसे प्रोग्राम का इस्तेमाल करके देखना भी एक तरीका हो सकता है। +_+
नाम जाना-पहचाना लगा, और देखा तो इसका नाम PushPin - Local-first real-time collaboration tool वाले से ही मिलता है।
लेकिन यह पूरी तरह अलग समाधान है.
Thoughtworks Technology Radar, Volume 29 में भी इसे framework क्षेत्र में Trial करने लायक तकनीक के रूप में चुना गया था.