2017-01-19 16 views
9

स्ट्रीम प्रोसेसिंग और पारंपरिक संदेश प्रसंस्करण के बीच बुनियादी अंतर क्या है? जैसा कि लोग कहते हैं कि काफका स्ट्रीम प्रसंस्करण के लिए अच्छी पसंद है लेकिन अनिवार्य रूप से कफका एक्टिवएमक्यू, खरगोश एमक्यू आदि जैसे मैसेजिंग फ्रेमवर्क है।स्ट्रीम प्रसंस्करण और संदेश प्रसंस्करण के बीच अंतर

हम आम तौर पर क्यों नहीं कहते कि ActiveMQ स्ट्रीम प्रोसेसिंग के लिए भी अच्छा है।

यह जिस गति से संदेशों उपभोक्ता द्वारा खपत होती है अगर यह एक धारा है निर्धारित करता है?

+0

मुझे लगता है कि आपको https://www.quora.com/What-are-the-differences-between-Apache-Kafka-and-RabbitMQ दिलचस्प –

उत्तर

27

पारंपरिक संदेश प्रसंस्करण में, आप संदेशों पर सरल संगणना लागू होते हैं - अलग-अलग संदेश के अनुसार ज्यादातर मामलों में।

स्ट्रीम प्रसंस्करण में, आप जटिल आपरेशनों एक ही समय में एकाधिक इनपुट धाराओं और कई रिकॉर्ड (यानी, संदेश) पर (एकत्रित की तरह और जुड़ जाता है) लागू होते हैं।

इसके अलावा, पारंपरिक संदेश प्रणाली "वापस समय में" जा सकते हैं नहीं - यानी, स्वचालित रूप से करने के बाद वे सब सदस्यता ली उपभोक्ताओं के लिए दिया गया संदेश हटाएं। इसके विपरीत, काफ्का संदेशों को रखता है क्योंकि यह एक कॉन्फ़िगर करने योग्य समय के लिए एक पुल आधारित मॉडल (यानी, कफका से उपभोक्ता पुल डेटा) का उपयोग करता है। यह उपभोक्ताओं को "रिवाइंड" करने और संदेशों को कई बार उपभोग करने की अनुमति देता है - या यदि आप एक नया उपभोक्ता जोड़ते हैं, तो यह संपूर्ण इतिहास पढ़ सकता है। यह स्ट्रीम प्रोसेसिंग को संभव बनाता है, क्योंकि यह अधिक जटिल अनुप्रयोगों की अनुमति देता है। इसके अलावा, स्ट्रीम प्रोसेसिंग वास्तविक समय प्रसंस्करण के बारे में जरूरी नहीं है - यह अनंत इनपुट स्ट्रीम को प्रोसेस करने के बारे में है (बैच प्रोसेसिंग के विपरीत जो सीमित इनपुट पर लागू होता है)।

और काफ्का काफ्का कनेक्ट और स्ट्रीम एपीआई प्रदान करता है - इसलिए यह एक स्ट्रीम प्रोसेसिंग प्लेटफार्म है और न केवल मैसेजिंग/पब-सब सिस्टम (भले ही यह इसका मूल उपयोग करता है)।

+1

इसके अलावा, इनपुट स्ट्रीम अनंत हो सकती है, लेकिन प्रसंस्करण सीमित इनपुट की स्लाइडिंग विंडो की तरह है। उस अर्थ में धारा और बैच प्रसंस्करण के बीच वास्तव में कोई अंतर नहीं है। बैच प्रोसेसिंग स्ट्रीम प्रसंस्करण का एक विशेष मामला है जहां खिड़कियां दृढ़ता से परिभाषित की जाती हैं। – Davos

5

असल में काफ्का ActiveMQ या RabbitMQ के समान ढांचे संदेश है। स्ट्रीमिंग की ओर काफ्का को संगठित करने के लिए कुछ प्रयास किए गए हैं।

https://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/

तो फिर काफ्का जब स्ट्रीम प्रसंस्करण के बारे में बात चित्र में आता है?

स्ट्रीम प्रसंस्करण ढांचा अलग है data.In बैच प्रसंस्करण के इनपुट के साथ, आप कुछ फाइल सिस्टम में संग्रहित फ़ाइलों है और आप लगातार कार्रवाई करने के लिए है कि और दुकान कुछ डेटाबेस में चाहते हैं। स्पार्क, तूफान, आदि जैसे धारा प्रसंस्करण ढांचे में स्ट्रीमिंग इंजन को खिलाने के लिए कुछ सेंसर उपकरणों, एपीआई फ़ीड और काफ्का से निरंतर इनपुट प्राप्त होता है।

+5

अपाचे काफ्का खुद को "वितरित स्ट्रीमिंग प्लेटफ़ॉर्म" के रूप में वर्णित करता है, देखें https://kafka.apache.org/। 2012 में वापस यह एक मैसेजिंग सिस्टम के रूप में मोटे तौर पर बोल रहा था, लेकिन आजकल यह उससे कहीं अधिक है। काफ्का विशेष रूप से अपने स्वयं के स्ट्रीम प्रसंस्करण इंजन के साथ जहाज, जिसे काफ्का स्ट्रीम स्ट्रीम एपीआई (या कम में काफ्का स्ट्रीम) कहा जाता है। अब आपको स्टॉर्म या स्पार्क जैसे अलग स्ट्रीम प्रसंस्करण तकनीक का उपयोग करने की आवश्यकता नहीं है, और स्पार्क/तूफान/के कुछ पूर्व उपयोगकर्ता ... ने अपने डेटा आर्किटेक्चर को सरल बनाने और सुधारने के लिए काफ्का के स्ट्रीम एपीआई में माइग्रेट करना शुरू कर दिया है। –

संबंधित मुद्दे