আসুন সেগুলি যথাযথভাবে নেওয়া যাক :)
1 - যখন কোনও প্রযোজক কোনও বার্তা তৈরি করছেন - এটি যে বিষয়টিকে বার্তাটি প্রেরণ করতে চায় তা উল্লেখ করবে, তা কি ঠিক? এটি কি পার্টিশন সম্পর্কে যত্নশীল?
ডিফল্টরূপে, প্রযোজক বিভাজন সম্পর্কে চিন্তা করে না। আরও ভাল নিয়ন্ত্রণের জন্য আপনার কাছে একটি কাস্টমাইজড পার্টিশনার ব্যবহার করার বিকল্প রয়েছে তবে এটি সম্পূর্ণ alচ্ছিক।
2 - যখন কোনও গ্রাহক চলমান - এটির গ্রুপ আইডি কি এটি নির্দিষ্ট করে যাতে এটি একই বিষয়ের গ্রাহকগণের গোষ্ঠীর অংশ হতে পারে বা এই গ্রুপের গ্রাহকরা আগ্রহী বেশ কয়েকটি বিষয়ের জন্য?
হ্যাঁ, গ্রাহকরা লোড ভাগ করে নেওয়ার জন্য একটি গ্রাহক দলে যোগদান (বা তারা একা থাকলে তৈরি করুন)। একই গ্রুপের কোনও দু'জন গ্রাহক কখনও একই বার্তা পাবেন না।
3 - প্রতিটি গ্রাহক দলের ব্রোকারের সাথে কি একই পার্টিশন রয়েছে বা প্রতিটি গ্রাহকের একটি রয়েছে?
আমরাও। গ্রাহক গোষ্ঠীর সমস্ত গ্রাহককে দুটি শর্তের অধীনে পার্টিশনের একটি সেট বরাদ্দ করা হয়: একই গ্রুপের কোনও দুটি গ্রাহকের সাধারণ কোনও বিভাজন নেই - এবং সামগ্রিকভাবে গ্রাহক গোষ্ঠী প্রতিটি বিদ্যমান পার্টিশন নির্ধারিত হয়।
4 - ব্রোকার দ্বারা তৈরি পার্টিশনগুলি কি গ্রাহকদের জন্য উদ্বেগ নয়?
এগুলি নয়, তবে আপনি 3 থেকে দেখতে পাচ্ছেন যে বিদ্যমান পার্টিশনের চেয়ে আরও বেশি গ্রাহক থাকা একেবারেই অকেজো, সুতরাং এটি গ্রহণের ক্ষেত্রে আপনার সর্বোচ্চ সমান্তরালতা স্তর।
5 - যেহেতু এটি প্রতিটি বিভাজনের জন্য একটি অফসেট সহ একটি সারি, তাই কোন বার্তাটি পড়তে চায় তা নির্দিষ্ট করা কি ভোক্তার দায়িত্ব? এটির রাষ্ট্র বাঁচানোর দরকার কি?
হ্যাঁ, গ্রাহকরা পার্টিশন অনুযায়ী প্রতিটি বিষয় প্রতি অফসেট সংরক্ষণ করেন। এটি পুরোপুরি কাফকা পরিচালনা করেছেন, এটি নিয়ে কোনও উদ্বেগ নেই।
6 - একটি বার্তা সারি থেকে মুছে ফেলা হলে কী হয়? - উদাহরণস্বরূপ: ধরে রাখার জন্য 3 ঘন্টা ছিল, তারপরে সময় কেটে যায়, উভয় পক্ষের অফসেটটি কীভাবে পরিচালনা করা হচ্ছে?
যদি কোনও গ্রাহক কখনই ব্রোকারগুলিতে কোনও পার্টিশনের জন্য অফসেট উপলব্ধ না করার অনুরোধ করে (উদাহরণস্বরূপ, মোছার কারণে), এটি একটি ত্রুটি মোডে প্রবেশ করে এবং শেষ পর্যন্ত এই পার্টিশনের জন্য নিজেকে সাম্প্রতিকতম বা পুরানো বার্তা উপলক্ষে পুনরায় সেট করে (উপর নির্ভর করে auto.offset.reset কনফিগারেশন মান), এবং কাজ চালিয়ে যান।