- Rust में लिखा गया उच्च-प्रदर्शन Kafka के विकल्प के रूप में ओपन सोर्स
- उच्च-प्रदर्शन लॉग स्टोरेज इंजन पर निर्मित वितरित मैसेज स्ट्रीमिंग प्लेटफ़ॉर्म, जो विश्वसनीय स्ट्रीमिंग और स्वचालित लीडर स्विचओवर सुविधा प्रदान करता है
- Raft consensus protocol के माध्यम से मेटाडेटा की संगति बनाए रखता है और फॉल्ट रिकवरी का समर्थन करता है
- सेगमेंट-आधारित पार्टिशनिंग के ज़रिए लोड को स्वचालित रूप से वितरित करता है, और लीडरशिप को round-robin तरीके से रोटेट करता है
- मुख्य फीचर्स
- सेगमेंट-स्तरीय शार्डिंग से टॉपिक को विभाजित किया जाता है, और प्रत्येक सेगमेंट का लीडर नोड writes संभालता है
- lease-आधारित write fencing से केवल एक ही लीडर write कर सकता है, जिससे split-brain रोका जाता है
- ऑटोमैटिक rollover के ज़रिए सेगमेंट आकार सीमा पार होने पर मेटाडेटा बदलाव का प्रस्ताव और लीडर स्विच किया जाता है
- Sealed Segment Reads फीचर से पुराने डेटा को replicas से सीधे पढ़ा जा सकता है
- io_uring-आधारित उच्च-प्रदर्शन I/O से Linux वातावरण में उच्च throughput प्राप्त होता है
- क्लाइंट प्रोटोकॉल
- TCP-आधारित length-prefixed text protocol का उपयोग
REGISTER, PUT, GET, STATE, METRICS कमांड के माध्यम से टॉपिक बनाना, संदेश भेजना-प्राप्त करना, और स्टेटस क्वेरी का समर्थन
- सरल कमांड संरचना के कारण किसी भी नोड से कनेक्ट किया जा सकता है, और ऑटोमैटिक forwarding होती है
- प्रदर्शन विशेषताएँ
- write throughput: प्रति सेगमेंट single-writer संरचना के कारण स्थिर प्रदर्शन
- read throughput: replicas की संख्या के अनुपात में स्केल होता है
- latency: औसतन 1~2 RTT स्तर
- consensus overhead न्यूनतम: Raft केवल मेटाडेटा पर लागू होता है, डेटा पथ पर नहीं
- प्रदर्शन तुलना
- Kafka, RocksDB की तुलना में अधिक write throughput और bandwidth
- fsync निष्क्रिय होने पर प्रति सेकंड 12 लाख से अधिक ऑपरेशन, और सक्रिय होने पर भी समान स्तर का स्थिर प्रदर्शन
- MIT License
अभी कोई टिप्पणी नहीं है.