मुख्य सामग्री पर जाएँ
Clinford Jordano Valencia
सभी प्रोजेक्ट
प्लेटफ़ॉर्मवेबमोबाइल

Signal, रियल-टाइम टेलीमेट्री प्लेटफ़ॉर्म

टाइप किया गया फ्रंटएंड SDK और इवेंट पाइपलाइन, जिसने Binance के वैश्विक KYC फ़नल को रियल-टाइम में दिखने लायक बनाया और इंसिडेंट की जाँच को दिनों से घटाकर मिनटों में ला दिया।

भूमिका
Senior Frontend Engineer
अवधि
2025–वर्तमान
टेक स्टैक
TypeScript · Mini Program · BFF · Kafka · Flink · ClickHouse · Grafana

समस्या

100 से ज़्यादा देशों में लाखों लोग पहचान सत्यापन से गुज़रे, और उनमें से कुछ चुपचाप बीच में छोड़ गए। जब किसी वेंडर का इंटीग्रेशन टूटता, तो किसी को पता नहीं चलता: हम बिखरे हुए सर्वर लॉग हाथ से पढ़ते थे, और एक जाँच में एक से तीन दिन लगते थे। उसका हर दिन ऐसे असली उपयोगकर्ता थे जो ऑनबोर्डिंग पूरी नहीं कर पाए।

तरीका

  • छोटा, टाइप किया गया SDK. एक TypeScript ट्रैकर वेब, मोबाइल और Mini Program की हर स्क्रीन पर एक जैसा उपयोगकर्ता-व्यवहार डेटा इकट्ठा करता है, ताकि हर जगह इवेंट का मतलब एक ही हो।
  • सेफ़्टी वाल्व के साथ थ्रॉटलिंग. SDK इवेंट को कतार में रखता है और हर 3 सेकंड में या 10 इवेंट होने पर, जो पहले हो, भेज देता है। हर क्लिक पर एक अनुरोध भेजने से ब्राउज़र के नेटवर्क थ्रेड भर जाते हैं; इवेंट ज़्यादा देर रोकने से टैब बंद होने पर वे खो सकते हैं। पेज छोड़ते समय यह navigator.sendBeacon का उपयोग करता है।
  • जाँच करने वाला BFF. इवेंट के बैच Backend for Frontend तक पहुँचते हैं, जो TypeScript परिभाषाओं के अनुसार स्कीमा जाँचता है, टाइमस्टैम्प की तर्कसंगतता देखता है, अनचाहे फ़ील्ड और निजी जानकारी (PII) हटाता है, और सेशन मेटाडेटा के साथ बैकएंड का फ़ैसला (पास, अस्वीकृत, समीक्षा लंबित) जोड़ता है। इस फ़ैसले की तुलना UI में दिखाई गई बात से करने पर UI और बैकएंड की स्थिति के बीच के अंतर सामने आए।
  • Kafka, Flink, ClickHouse, Grafana. Kafka दुनिया भर के ट्रैफ़िक के उछाल को संभालता है, Flink इवेंट को रियल-टाइम में प्रोसेस करता है, ClickHouse उन्हें स्टोर करता है (कॉलम आधारित स्टोरेज अरबों हाई-कार्डिनैलिटी इवेंट पर एग्रीगेशन का जवाब मिलीसेकंड में देता है, जबकि रो आधारित स्टोरेज बहुत धीमा रहता है) और Grafana फ़नल दिखाता है।
  • चुपचाप विफलता संभालना. अगर पाइपलाइन बंद हो, तो SDK localStorage में अधिकतम 100 इवेंट रखता है और एक पैसिव सर्किट ब्रेकर भेजना रोक देता है। यह हेल्थ जाँचने के लिए सर्वर को पिंग नहीं करता; अगले सफल जवाब का इंतज़ार करता है।

नतीजा

इंसिडेंट का पता लगाने का समय 24–72 घंटे से घटकर 5 मिनट से कम हो गया। ऐसे फ़नल के लिए, जहाँ एक वेंडर स्टेप टूटने का मतलब हज़ारों असफल ऑनबोर्डिंग है, यह पोस्टमार्टम की एक पंक्ति और उसी सुबह हुए सुधार के बीच का फ़र्क है।