অ্যাপাচি কাফকা বনাম অ্যাপাচি ঝড়


102

অ্যাপাচি কাফকা: বিতরণ মেসেজিং সিস্টেম
অ্যাপাচি ঝড়: রিয়েল টাইম মেসেজ প্রসেসিং

ইভেন্ট ডেটা প্রসেসিংয়ের জন্য আমরা কীভাবে উভয় প্রযুক্তিকে রিয়েল-টাইম ডেটা পাইপলাইনে ব্যবহার করতে পারি?

রিয়েল টাইম ডেটা পাইপলাইনের ক্ষেত্রে উভয়ই আমার কাছে কাজটি অভিন্ন বলে মনে হয়। আমরা কীভাবে ডেটা পাইপলাইনে উভয় প্রযুক্তি ব্যবহার করতে পারি?

উত্তর:


158

আপনি অ্যাপাচি কাফকা একটি বিতরণযোগ্য এবং শক্তিশালী সারি হিসাবে ব্যবহার করেন যা উচ্চ ভলিউম ডেটা পরিচালনা করতে পারে এবং আপনাকে এক প্রান্ত থেকে অন্য প্রান্তে বার্তা প্রেরণে সক্ষম করে।

ঝড় কোনও সারি নয়। এটি এমন একটি সিস্টেম যা রিয়েল টাইম প্রসেসিংয়ের ক্ষমতা বিতরণ করেছে, এর অর্থ আপনি সমান্তরালে রিয়েল টাইম ডেটাতে সমস্ত ধরণের ম্যানিপুলেশনগুলি চালিয়ে যেতে পারেন।

এই সরঞ্জামগুলির সাধারণ প্রবাহ (যেমন আমি এটি জানি) নীচে চলে যায়:

রিয়েল-টাইম সিস্টেম -> কাফকা -> ঝড় -> নো এসকিএল -> বিআই (alচ্ছিক)

সুতরাং আপনার রিয়েল টাইম অ্যাপ্লিকেশনটি উচ্চ ভলিউম ডেটা পরিচালনা করছে, এটি কাফকা সারিতে প্রেরণ করে। ঝড় কাফকা থেকে ডেটা টানে এবং কিছু প্রয়োজনীয় হেরফের প্রয়োগ করে। এই মুহুর্তে আপনি সাধারণত এই ডেটা থেকে কিছু সুবিধা পেতে চান, সুতরাং আপনি অতিরিক্ত বিআই গণনার জন্য এটি কোনও নোসকিএল ডিবিতে প্রেরণ করেন বা অন্য কোনও সিস্টেম থেকে আপনি কেবল এই নোএসকিএল-কে জিজ্ঞাসা করতে পারেন।


ধন্যবাদ ফরহাস এটি খুব সহায়ক। একটি প্রশ্ন আমরা অ্যাপাচি লগ ফাইলগুলি একত্রিত করতে অ্যাপাচি কাফকা ব্যবহার করতে পারি বা এটি করার জন্য আমাদের এখনও ফ্লুমের দরকার আছে?
অনন্ত দুয়ারী

আমার ধারণা আপনি এইরকম প্রবাহের সাথে পরিচিত না হলেও আপনি পারেন। আপনার নিজের প্রয়োজনগুলির জন্য আপনি স্প্লঙ্কটি পরীক্ষা করতে পারেন (কেবল একটি অনুমান ..)।
ফরহাস

আমি গ্রেলোগ ব্যবহার করার এবং এটি অ্যাপাচি কাফকার সাথে সংযুক্ত করার পরামর্শ দিচ্ছি। গ্রেলগ ইতিমধ্যে একটি কাকফা ইনপুট প্লাগইন রয়েছে।
সাeদ রাস্তাক

36

কাফকা এবং ঝড়ের কিছুটা আলাদা উদ্দেশ্য রয়েছে:

কাফকা হ'ল একটি বিতরণ বার্তা ব্রোকার যা প্রতি সেকেন্ডে প্রচুর পরিমাণে বার্তা পরিচালনা করতে পারে। এটি প্রকাশের সাবস্ক্রাইব দৃষ্টান্ত ব্যবহার করে এবং বিষয় এবং পার্টিশনের উপর নির্ভর করে। কাফকা জুকারকিয়ারকে ব্রোকারদের মধ্যে ভাগ করে নেওয়ার এবং সংরক্ষণ করতে ব্যবহার করে। সুতরাং কাফকা মূলত একটি মেশিন থেকে অন্য মেশিনে বার্তা স্থানান্তর করার জন্য দায়বদ্ধ।

ঝড় একটি স্কেলেবল, দোষ-সহনশীল, রিয়েল-টাইম অ্যানালিটিক সিস্টেম (রিয়েলটাইমে হাদুপের মতো ভাবি)। এটি উত্স (স্পাউটস) থেকে ডেটা গ্রহণ করে এবং এটি পাইপলাইনে (বল্টস) পাস করে। আপনি এগুলি টপোলজিতে সংযুক্ত করতে পারেন। সুতরাং ঝড় মূলত একটি গণনা ইউনিট (সমষ্টি, মেশিন লার্নিং)।


তবে আপনি সেগুলি একসাথে ব্যবহার করতে পারেন: উদাহরণস্বরূপ আপনার অ্যাপ্লিকেশনটি অন্যান্য সার্ভারগুলিতে ডেটা প্রেরণের জন্য কাফকা ব্যবহার করে যা এতে কিছু গণনা করতে ঝড় ব্যবহার করে।


32

আমি জানি যে এটি একটি পুরানো থ্রেড এবং অ্যাপাচি কাফকা এবং ঝড়ের তুলনাগুলি লেখার সময় বৈধ এবং সঠিক ছিল তবে এটি লক্ষণীয় যে অ্যাপাচি কাফকা কয়েক বছর ধরে অনেকটা বিকশিত হয়েছে এবং সংস্করণ 0.10 থেকে (এপ্রিল 2016) কাফকা অন্তর্ভুক্ত করেছে একটি কাফকা স্ট্রিমস এপিআই যা ঝড়ের মতো কোনও অতিরিক্ত সফ্টওয়্যার ছাড়াই স্ট্রিম প্রসেসিং ক্ষমতা সরবরাহ করে। কাফকার বিভিন্ন উত্স এবং ডেঙ্কের (গন্তব্য) সংযোগের জন্য কানেক্ট এপিআই অন্তর্ভুক্ত করে।

ঘোষণা ব্লগ - https://www.confluent.io/blog/introducing-kafka-streams-stream-processing-made-simple/

বর্তমান অ্যাপাচি ডকুমেন্টেশন - https://kafka.apache.org/docamentation/streams/

০.০১-এ কাফকার স্ট্রিম প্রসেসিংয়ের কার্যকারিতাটি আরও একবার প্রসারণযোগ্যভাবে একবার শব্দার্থক ও লেনদেনের জন্য প্রসারিত করা হয়েছিল।

https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/


1
সুতরাং মূলত এখন একটি রিয়েল-টাইম সিস্টেম কাফকাশের সাথে সরাসরি যোগাযোগ করে শেষ পয়েন্ট এবং কাফকা স্টোরের সাথে উদাহরণস্বরূপ একটি ডিবি?
সমস্যাসংক্রান্ত

2
হ্যাঁ এখন কাফকার মধ্যে ডাটাবেস এবং অন্যান্য ডেটা উত্সগুলির সাথে কথা বলার জন্য কাফকা কানেক্ট অন্তর্ভুক্ত রয়েছে (সিসলগ, জেএমএস, লগ ফাইলগুলি, ইত্যাদি) এবং কাফকা স্ট্রিমগুলি স্ট্রিম প্রসেসিং করতে (যোগ দেয়, রূপান্তরগুলি, ফিল্টারগুলি, একীকরণগুলি), এবং কাফকাতে ফিরে লিখতে সংযোগ করুন অন্য ডাটাবেস বা সংগ্রহস্থল বাইরে।
হ্যানস জেস্পারসন

15

এটা এভাবে কাজ করে

কাফকা - একটি রিয়েলটাইম স্ট্রিম সরবরাহ করতে

ঝড় - সেই স্রোতে কিছু অপারেশন করা perform

আপনি গিটহাব প্রকল্প https://github.com/abhishekgoel137/kafka-nodejs-d3js এ একবার দেখে নিতে পারেন ।

(D3js একটি গ্রাফ-উপস্থাপনা গ্রন্থাগার)

আদর্শ কেস:

Realtime application -> Kafka -> Storm -> NoSQL -> d3js

এই সংগ্রহস্থলটি এর উপর ভিত্তি করে:

Realtime application -> Kafka -> <plain Node.js> -> NoSQL -> d3js

1
অভিষেক, উপরের উত্তরে উল্লিখিত লিঙ্কটি নষ্ট হয়ে গেছে। আপনি দয়া করে লিঙ্কটি আপডেট করতে পারেন?
অভিজিৎ গায়কওয়াদ

4

প্রতিটি যেমন আপনাকে ব্যাখ্যা করে যে অ্যাপাচি কাফকা: অবিচ্ছিন্ন বার্তাবাহকের সারি

অ্যাপাচি ঝড়: ক্রমাগত প্রক্রিয়াজাতকরণ সরঞ্জাম

এখানে এই দিকটিতে কাফকা এপিবি ব্যবহার করে টুইটারের মতো কোনও ওয়েবসাইট থেকে ডেটা পাবেন এবং অ্যাপাচি স্টর্ম ব্যবহার করে ডেটা প্রক্রিয়া করা হবে এবং আপনি যে কোনও ডাটাবেসে আপনার পছন্দসই ডেটা সংরক্ষণ করতে পারবেন।

https://github.com/miguno/kafka-storm-starter

এটি অনুসরণ করুন আপনি কিছু ধারণা পাবেন


3

আমার যখন এমন ব্যবহারের ক্ষেত্রে দেখা যায় যা ইভেন্টগুলি প্রক্রিয়া অব্যাহত রাখার সময় আমাকে প্যাটার্নগুলি সম্পর্কে ভিজ্যুয়ালাইজ করতে বা সতর্ক করতে হবে (টুইটার ট্রেন্ডগুলি সম্পর্কে চিন্তা করুন), আমার বেশ কয়েকটি নিদর্শন রয়েছে।
NiFi আমাকে একটি ইভেন্ট প্রক্রিয়া করতে এবং খুব কম, খুব কম কাস্টম কোডিং সহ লো (এআর) ব্যাচের সমষ্টি সহ একটি ধ্রুবক ডেটা স্টোর আপডেট করার অনুমতি দেয়।
ঝড় (প্রচুর কাস্টম কোডিং) ট্রেন্ডিং ইভেন্টগুলিতে আমাকে প্রায় রিয়েল টাইম অ্যাক্সেসের অনুমতি দেয়।
আমি যদি বেশ কয়েক সেকেন্ড অপেক্ষা করতে পারি তবে আমি কাফকা থেকে ব্যাচ করে এইচডিএফএস (পারকুইট) এবং প্রক্রিয়াতে যেতে পারি।
যদি আমার কয়েক সেকেন্ডের মধ্যে জানা দরকার তবে আমার নিফাই, এবং সম্ভবত ঝড়ও দরকার। (হাজার হাজার পৃথিবী স্টেশনগুলি পর্যবেক্ষণের কথা চিন্তা করুন, যেখানে টর্নেডো সতর্কতার জন্য আমাকে ছোট অঞ্চলের আবহাওয়া দেখতে হবে)।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.