पाठ 1 / 25
Kafka क्या है
Kafka को वितरित, replicated, केवल-जोड़ने वाले event log के रूप में वर्णित करें और बताएँ कब उपयोग करें।
Events अंदर, events बाहर, events सुरक्षित
Apache Kafka events की streaming के लिए वितरित platform है। Producers नामक systems नामित topics में records लिखते हैं; consumers उन्हें पढ़ते हैं। पारंपरिक queue, जो message पढ़े जाने पर उसे हटा देती है, के विपरीत Kafka records को तय समय या आकार तक disk पर रखता है और कई स्वतंत्र consumers को वही डेटा पढ़ने देता है, हर एक अपनी स्थिति पर। इसलिए यह services को अलग करने, systems के बीच डेटा ले जाने (log shipping, change data capture), analytics को खिलाने और real-time pipelines बनाने के लिए उपयोगी है। यह random lookups के लिए database नहीं है और प्रति-message acknowledgement वाली task queue भी नहीं।
ऐसा टिकाऊ log जिसे हर कोई पढ़ सके
Producers events को topic में जोड़ते हैं; consumers उन्हें अपनी गति से पढ़ते हैं; log उन्हें आपकी तय अवधि तक रखता है।
अख़बार का संग्रह
अख़बार हर संस्करण एक बार छापता है और जिल्दबंद संग्रह रखता है। पाठक किसी भी तारीख़ से, अपनी गति से, दूसरों के लिए संस्करण हटाए बिना पढ़ सकते हैं। Kafka का topic वही संग्रह है।
सही tool चुनें
सरल background job queue (एक email भेजो, ack करो) के लिए RabbitMQ या cloud queue सरल हो सकती है। जब replay, कई consumers, ऊँचा throughput या event streaming चाहिए तब Kafka चुनें।
त्वरित जाँच: एक consumer के पढ़ लेने के बाद record का क्या होता है?
- वह अपने आप दूसरे topic में चला जाता है
- वह तुरंत हटा दिया जाता है
- वह retention हटाने तक topic में रहता है, और दूसरे अब भी उसे पढ़ सकते हैं
- वह encrypt हो जाता है
Answer
वह retention हटाने तक topic में रहता है, और दूसरे अब भी उसे पढ़ सकते हैं — Kafka log है: पढ़ने से डेटा नहीं हटता, इसलिए कई consumers उसे replay कर सकते हैं।