1、প্রয়োগের ক্ষেত্র
1.RabbitMQ:
যেসব ক্ষেত্রে ব্যবহার সহজ হওয়া ও নমনীয়তার চাহিদা বেশি, সেসব ক্ষেত্রে উপযোগী
অ্যাসিঙ্ক্রোনাস কাজ প্রক্রিয়াকরণ:RabbitMQ নির্ভরযোগ্য বার্তা পরিবহন ব্যবস্থা দেয়, যা অ্যাসিঙ্ক্রোনাস কাজ প্রক্রিয়াকরণের উপযোগী। যেমন, সময়সাপেক্ষ কাজ মেসেজ কিউতে রেখে পরে গ্রাহকের মাধ্যমে অ্যাসিঙ্ক্রোনাসভাবে প্রক্রিয়া করা যায়, ফলে সিস্টেমের সাড়া দেওয়ার গতি ও সম্প্রসারণক্ষমতা বাড়ে।
সিস্টেমের উপাদানগুলির পারস্পরিক নির্ভরতা কমানো:বার্তা মধ্যস্থতাকারী হিসেবে RabbitMQ ব্যবহার করলে,সিস্টেমের বিভিন্ন উপাদান বার্তার মাধ্যমে পরস্পর থেকে আলগা হয়ে কাজ করতে পারে,ফলে শিথিল সংযুক্তির স্থাপত্য গড়ে ওঠে,এবং সিস্টেমের রক্ষণাবেক্ষণযোগ্যতা ও নমনীয়তা বাড়ে।
ইভেন্টচালিত স্থাপত্য:RabbitMQ-এর প্রকাশ-সাবস্ক্রাইব মডেল দিয়ে ইভেন্টচালিত স্থাপত্য তৈরি করা যায়। সিস্টেমের ইভেন্টগুলো বার্তা হিসেবে সংশ্লিষ্ট টপিকে প্রকাশ করা হয়, আর বিভিন্ন উপভোক্তা আগ্রহের টপিকে সাবস্ক্রাইব করে উপযুক্ত প্রক্রিয়াকরণ করতে পারে।
2.RocketMQ:
বিপুল পরিমাণ ডেটা প্রক্রিয়াকরণ এবং উচ্চ থ্রুপুটের ক্ষেত্রে উপযোগী
বিতরণকৃত ট্রানজ্যাকশন:RocketMQ বিতরণকৃত ট্রানজ্যাকশন মেসেজ সমর্থন করে, যা একাধিক ব্যবসায়িক ব্যবস্থা জড়িত বিতরণকৃত ট্রানজ্যাকশনের ক্ষেত্রে উপযোগী;এটি মেসেজের সামঞ্জস্য ও নির্ভরযোগ্যতা নিশ্চিত করার পাশাপাশি উচ্চ থ্রুপুটে মেসেজ পাঠানোর সক্ষমতা দেয়।
তাৎক্ষণিক লগ প্রক্রিয়াকরণ:RocketMQ-র উচ্চ থ্রুপুট ও কম বিলম্বের বৈশিষ্ট্য থাকায় এটি তাৎক্ষণিক লগ প্রক্রিয়াকরণে ব্যবহার করা যায়, যেমন লগ সংগ্রহ ও বিশ্লেষণ, লগ একত্রীকরণ ইত্যাদি ক্ষেত্রে।
স্ট্রিম প্রক্রিয়াকরণ:RocketMQ স্ট্রিম প্রক্রিয়াকরণ মোড সমর্থন করে, এতে তৈরি হওয়া তথ্যপ্রবাহ মেসেজ কিউয়ের মাধ্যমে স্ট্রিম প্রক্রিয়াকরণ ফ্রেমওয়ার্কে(যেমন Flink, Spark Streaming)পাঠিয়ে তাৎক্ষণিক তথ্য প্রক্রিয়াকরণ ও বিশ্লেষণ করা যায়।
3.Kafka:
উচ্চ থ্রুপুটের তাৎক্ষণিক ডেটাপ্রবাহ প্রক্রিয়াকরণ ও স্ট্রিম প্রক্রিয়াকরণের ক্ষেত্রে উপযোগী
ডেটা পাইপলাইন ও তাৎক্ষণিক ডেটা প্রক্রিয়াকরণ:Kafka-র উচ্চ থ্রুপুট ও স্থায়ী সংরক্ষণের বৈশিষ্ট্য একে নির্ভরযোগ্য ডেটা পাইপলাইন ও তাৎক্ষণিক ডেটা প্রক্রিয়াকরণ ব্যবস্থা তৈরির আদর্শ পছন্দ করে তোলে,যা প্রবাহমান ডেটা সংগ্রহ、স্থানান্তর ও প্রক্রিয়াকরণে ব্যবহৃত হয়।
লগ ও ইভেন্ট স্ট্রিম প্রক্রিয়াকরণ:Kafka-এর পার্টিশন ব্যবস্থা এবং ক্রম বজায় রাখার নিশ্চয়তা একে লগ ও ইভেন্ট স্ট্রিম প্রক্রিয়াকরণের আদর্শ সমাধান করে তুলেছে, যেমন অ্যাপ্লিকেশনের লগ সংগ্রহ, ইভেন্ট সোর্সিং, ব্যবসায়িক কার্যক্রম পর্যবেক্ষণ ইত্যাদি।
তাৎক্ষণিক স্ট্রিম বিশ্লেষণ ও মেশিন লার্নিং:Kafka-কে স্ট্রিম প্রক্রিয়াকরণ কাঠামোর(যেমন Flink、Spark Streaming)সঙ্গে ব্যবহার করে তাৎক্ষণিক স্ট্রিম বিশ্লেষণ ও মেশিন লার্নিংয়ের কাজ চালানো যায়,তাৎক্ষণিক তথ্যপ্রবাহ প্রক্রিয়াকরণের মাধ্যমে তাৎক্ষণিক অন্তর্দৃষ্টি ও সিদ্ধান্ত গ্রহণের সহায়তা পাওয়া যায়।
2、সেবা স্থাপত্য
RabbitMQ
Channel(চ্যানেল):Channel হলো RabbitMQ ও অ্যাপ্লিকেশনের মধ্যকার ভার্চুয়াল সংযোগ। একটি বাস্তব সংযোগের(connection)ওপর একাধিক চ্যানেল তৈরি করে অ্যাপ্লিকেশন একই সময়ে বার্তা আদানপ্রদানের কাজ করতে পারে। চ্যানেল বার্তা পাঠানো ও গ্রহণের দায়িত্ব পালন করে এবং কিউ ঘোষণা、এক্সচেঞ্জ সংজ্ঞায়িত করা ও বাইন্ডিংয়ের মতো বার্তাসংক্রান্ত কাজ করে। চ্যানেলকে একটি হালকা সেশন হিসেবে দেখা যায়, যা একটি বাস্তব সংযোগের মাধ্যমে RabbitMQ-এর সঙ্গে যোগাযোগ করে।
Exchange(এক্সচেঞ্জ): এক্সচেঞ্জ হলো বার্তা গ্রহণ ও ফরওয়ার্ড করার কেন্দ্র। RabbitMQ-এ বার্তা পাঠানো হলে এক্সচেঞ্জের মাধ্যমে তা রাউট করা হয়। এক্সচেঞ্জ তার ধরন ও বাইন্ডিং নিয়ম অনুযায়ী বার্তাকে এক বা একাধিক কিউতে পাঠায়। প্রচলিত এক্সচেঞ্জের ধরনগুলোর মধ্যে রয়েছে ডাইরেক্ট এক্সচেঞ্জ(direct)、টপিক এক্সচেঞ্জ(topic)、ফ্যানআউট এক্সচেঞ্জ(fanout)ও হেডার্স এক্সচেঞ্জ(headers)。
Queue(সারি):কিউ হলো RabbitMQ-এর বার্তা সংরক্ষণের বাফার। কোনো বার্তা সঙ্গে সঙ্গে কনজিউমারের কাছে রাউট করা না গেলে, সেটি কিউতে সংরক্ষিত থাকে, কনজিউমারের সংগ্রহ ও প্রক্রিয়াকরণের অপেক্ষায়। প্রতিটি কিউয়ের একটি অনন্য নাম থাকে, এবং FIFO(আগে এলে আগে বের হয়)ক্রম অনুসারে বার্তা পৌঁছে দেওয়া ও গ্রহণ করা হয়।
Virtual Host(ভার্চুয়াল হোস্ট):ভার্চুয়াল হোস্ট হলো যৌক্তিকভাবে বিচ্ছিন্ন একটি পরিবেশ, যা RabbitMQ সার্ভারকে একাধিক স্বাধীন অংশে ভাগ করতে ব্যবহৃত হয়। প্রতিটি ভার্চুয়াল হোস্টের নিজস্ব এক্সচেঞ্জ, কিউ, বাইন্ডিং এবং অনুমতি সেটিং থাকে। ভার্চুয়াল হোস্ট বিভিন্ন অ্যাপ্লিকেশন বা পরিষেবাকে আলাদা রাখতে সাহায্য করে এবং নিরাপত্তা ও সম্পদ ব্যবস্থাপনা নিয়ন্ত্রণের সুযোগ দেয়।
Broker(মধ্যস্থ):Broker হলো RabbitMQ মেসেজ কিউ সার্ভারের একটি ইনস্ট্যান্স, যা বার্তা গ্রহণ, সংরক্ষণ ও রাউট করার দায়িত্ব পালন করে। এটি মধ্যস্থতাকারীর ভূমিকা নিয়ে প্রযোজকের পাঠানো বার্তা ভোক্তার কাছে পৌঁছে দেয়। একটি RabbitMQ ইনস্ট্যান্সে একাধিক Broker থাকতে পারে, এবং প্রতিটি Broker একাধিক ভার্চুয়াল হোস্ট ও কিউ ধারণ করতে পারে।
RocketMQ
NameServer(নামকরণ সার্ভার):NameServer হলো RocketMQ-এর নামকরণ পরিষেবার উপাদান, যা Broker-এর রাউটিং তথ্য পরিচালনা ও সরবরাহ করে। এটি মেটাডেটার কেন্দ্র হিসেবে কাজ করে এবং Broker-এর নিবন্ধন তথ্য, Topic-এর রাউটিং তথ্য ইত্যাদি রক্ষণাবেক্ষণ করে। Producer ও Consumer-কে বার্তা পাঠানো ও গ্রহণের আগে সঠিক Broker-এর তথ্য পেতে NameServer-এর সঙ্গে যোগাযোগ করতে হয়।
Controller(নিয়ন্ত্রক):Controller হলো RocketMQ-এর নিয়ন্ত্রক কম্পোনেন্ট, যা সমগ্র RocketMQ ক্লাস্টারের কাজ সমন্বয় ও পরিচালনা করে। এটি Broker-এর অবস্থার পরিবর্তন পর্যবেক্ষণ করে, ক্লাস্টারের সম্প্রসারণ ও সংকোচন সামলায় এবং লোড ব্যালান্সিংসহ বিভিন্ন কাজ করে। Controller হলো RocketMQ ক্লাস্টারের অন্যতম মূল কম্পোনেন্ট, যা ক্লাস্টারের নির্ভরযোগ্য কার্যক্রম ও স্বয়ংক্রিয় ব্যবস্থাপনা নিশ্চিত করে।
Broker(মধ্যস্থ):Broker হলো RocketMQ-এর বার্তা সংরক্ষণ ও প্রক্রিয়াকরণের নোড। এটি Producer-এর কাছ থেকে বার্তা গ্রহণ করে ডিস্কে সংরক্ষণ করে। Broker আবার Consumer-এর বার্তা টেনে আনার অনুরোধও প্রক্রিয়াকরণ করে এবং ব্যবহারের জন্য Consumer-এর কাছে বার্তা পাঠায়। একটি RocketMQ ক্লাস্টারে একাধিক Broker থাকতে পারে, প্রতিটি Broker কিছু Topic-এর বার্তার ডেটা সংরক্ষণ করে।
KafkaMQ
Broker(মধ্যস্থ):Broker হলো Kafka ক্লাস্টারের একটি নোড,যা বার্তা সংরক্ষণ ও প্রক্রিয়াকরণের দায়িত্ব পালন করে。প্রতিটি Broker একটি স্বতন্ত্র Kafka সার্ভার ইনস্ট্যান্স。এটি আলাদা কোনো ভৌত সার্ভার、ভার্চুয়াল মেশিন বা কনটেইনার হতে পারে。একটি Kafka ক্লাস্টারে একাধিক Broker থাকতে পারে,যারা একসঙ্গে কাজ করে উচ্চ প্রাপ্যতা ও উচ্চ থ্রুপুটের বার্তা আদানপ্রদান নিশ্চিত করে。
Topic(বিষয়):Topic হলো বার্তার যৌক্তিক শ্রেণি বা বিষয়। এটি বার্তা প্রকাশ ও সাবস্ক্রিপশনের একক। Producer নির্দিষ্ট Topic-এ বার্তা প্রকাশ করে, আর Consumer বার্তা পাওয়ার জন্য আগ্রহের Topic সাবস্ক্রাইব করে। Topic-কে বার্তার একটি ধারক হিসেবে ভাবা যায়, যা সম্পর্কিত বার্তাগুলোকে শ্রেণিবদ্ধ ও দলবদ্ধ করতে ব্যবহৃত হয়।
Partition(বিভাগ):একটি Topic-কে এক বা একাধিক পার্টিশনে ভাগ করা যায়; প্রতিটি পার্টিশন Topic-এর একটি উপসেট। পার্টিশন হলো বার্তা সংরক্ষণ ও সরবরাহের ক্ষুদ্রতম একক। বাস্তবে প্রতিটি পার্টিশনের জন্য একটি স্বতন্ত্র লগ ফাইল থাকে, এবং সেগুলো বিভিন্ন Broker-এ ছড়িয়ে থাকে। পার্টিশনের মাধ্যমে Kafka অনুভূমিক সম্প্রসারণ ও সমান্তরাল প্রক্রিয়াকরণ করতে পারে এবং আরও বেশি থ্রুপুট দিতে পারে। প্রতিটি পার্টিশনের বার্তা আগে এলে আগে যাবে ক্রমে সংরক্ষণ ও সরবরাহ করা হয়।
3、স্থায়ী সংরক্ষণ ও নির্ভরযোগ্যতা:
RabbitMQ:RabbitMQ বার্তা স্থায়ীভাবে সংরক্ষণের ব্যবস্থা ব্যবহার করে,বার্তাগুলি ডিস্কে স্থায়ীভাবে সংরক্ষিত হয়,যাতে বার্তার নির্ভরযোগ্যতা নিশ্চিত হয়।এটি বিভিন্ন ধরনের বার্তা প্রাপ্তিস্বীকার ব্যবস্থা ও ট্রানজ্যাকশন সমর্থন করে,যা বার্তার নির্ভরযোগ্য সরবরাহ নিশ্চিত করতে পারে।
RocketMQ:RocketMQ-এর তথ্য স্থায়ীভাবে সংরক্ষণ ও নির্ভরযোগ্যতা নিশ্চিত করার শক্তিশালী বৈশিষ্ট্য রয়েছে, এটি সিঙ্ক্রোনাস ডিস্ক রাইট ও অ্যাসিঙ্ক্রোনাস প্রতিলিপি প্রক্রিয়া সমর্থন করে, ফলে অত্যন্ত নির্ভরযোগ্য বার্তা সরবরাহের নিশ্চয়তা দিতে পারে।
Kafka:Kafka বার্তা স্থায়ীভাবে সংরক্ষণ করে; বার্তা ডিস্কের লগ ফাইলে লেখা হয়। পার্টিশন ও প্রতিলিপি ব্যবস্থার মাধ্যমে এটি উচ্চ নির্ভরযোগ্যতা এবং স্থায়ী সংরক্ষণের সুবিধা দেয়।
4、থ্রুপুট
RabbitMQ: RabbitMQ-এর থ্রুপুট সাধারণত কম, এটি ছোট ও মাঝারি আকারের প্রয়োগের উপযোগী। RabbitMQ ছোট ও মাঝারি আকারের প্রয়োগে উপযুক্ত, সাধারণত দশ হাজার থেকে এক লক্ষ মাত্রার বার্তা সামলাতে পারে। এটি মূলত বার্তার নির্ভরযোগ্য সরবরাহ ও বার্তা স্থায়ীভাবে সংরক্ষণে গুরুত্ব দেয়, উচ্চ থ্রুপুটের চাহিদা মেটাতে অপ্টিমাইজেশন ও সমন্বয় প্রয়োজন হতে পারে।
RocketMQ:RocketMQ-এর থ্রুপুট বেশ উচ্চ, এটি দশ লক্ষ পর্যায়ের বার্তা প্রক্রিয়াকরণ করতে পারে। বিতরণকৃত লেনদেন এবং বৃহৎ পরিসরে বার্তা আদানপ্রদানের ক্ষেত্রে এটি চমৎকার কাজ করে।
Kafka: Kafka উচ্চ থ্রুপুটের জন্য পরিচিত একটি মেসেজ কিউ ব্যবস্থা, যা দশ লক্ষ বা তারও বেশি মাত্রার বার্তা সামলাতে পারে। Kafka বৃহৎ আকারের ডেটা প্রক্রিয়াকরণ, তাৎক্ষণিক স্ট্রিম প্রক্রিয়াকরণ ও লগ প্রক্রিয়াকরণের মতো উচ্চ থ্রুপুটের কাজের উপযোগী।
5、সাড়া দেওয়ার সময়
6、কমিউনিটি ও ইকোসিস্টেম
RabbitMQ:RabbitMQ-এর প্লাগইন ও সরঞ্জামের সমৃদ্ধ বাস্তুতন্ত্র রয়েছে,এবং বিস্তৃত ডেভেলপার সম্প্রদায়ের সমর্থন পায়。
RocketMQ:চীনে RocketMQ ব্যাপকভাবে ব্যবহৃত হয়, এর জন্য রয়েছে Alibaba-র সমৃদ্ধ ইকোসিস্টেম ও কমিউনিটির সহায়তা।
Kafka:Kafka-এর সক্রিয় ওপেন সোর্স কমিউনিটি ও বিস্তৃত ইকোসিস্টেম রয়েছে,বহু বড় কোম্পানি এটি ব্যাপকভাবে ব্যবহার করে।
Github স্টার
Github অবদানকারীরা
সামগ্রিকভাবে:rabbitmq<rocketmq<kafka
7、নকশার দর্শন
RabbitMQ:RabbitMQ হলো AMQP(অ্যাডভান্সড মেসেজ কিউয়িং প্রোটোকল)ভিত্তিক একটি উন্মুক্ত উৎসের বার্তা মিডলওয়্যার, যা ব্যবহারের সহজতা ও নমনীয়তাকে গুরুত্ব দেয় এবং একাধিক বার্তা আদানপ্রদানের ধরন ও নির্ভরযোগ্য বার্তা সরবরাহ সমর্থন করে।
RocketMQ:RocketMQ হলো Alibaba-এর উন্মুক্ত উৎসের বিতরণকৃত মেসেজ মিডলওয়্যার, যা প্রথমে Alibaba-এর অভ্যন্তরীণ বিপুল তথ্য প্রক্রিয়াকরণের চাহিদা মেটাতে তৈরি হয়েছিল এবং উচ্চ থ্রুপুট ও কম বিলম্বের বৈশিষ্ট্যসম্পন্ন। 2016 সালে Alibaba RocketMQ-কে Apache Software Foundation-এ দান করে।
Kafka:Kafka হলো LinkedIn নির্মিত একটি বিতরণকৃত স্ট্রিম প্রক্রিয়াকরণ প্ল্যাটফর্ম, যা মূলত উচ্চ থ্রুপুটের তাৎক্ষণিক ডেটা স্ট্রিম প্রক্রিয়াকরণে ব্যবহৃত হয় এবং স্থায়ীভাবে ডেটা সংরক্ষণ ও প্রক্রিয়াকরণ করে। 2011 সালে Kafka একটি Apache মুক্ত উৎস প্রকল্পে পরিণত হয়।
8、ডেটা মডেল
RabbitMQ:RabbitMQ কিউ(Queue)মডেল ব্যবহার করে; বার্তা কিউতে পাঠানো হয়, আর উপভোক্তারা কিউ থেকে বার্তা নিয়ে প্রক্রিয়াকরণ করে।
RocketMQ:RocketMQ টপিক(Topic)ও ট্যাগ(Tag)মডেল ব্যবহার করে; বার্তা টপিকে প্রকাশিত হয়, এবং উপভোক্তারা টপিক ও ট্যাগ অনুযায়ী সাবস্ক্রাইব ও বার্তা ফিল্টার করতে পারে।
Kafka:Kafka প্রকাশ-সাবস্ক্রিপশন মডেল ব্যবহার করে,বার্তাগুলি টপিকে প্রকাশিত হয়,একাধিক কনজিউমার একই টপিকে সাবস্ক্রাইব করে স্বাধীনভাবে বার্তা গ্রহণ ও প্রক্রিয়াকরণ করতে পারে।
9、ওয়েব ব্যবস্থাপনা সরঞ্জাম
RabbitMQ
RabbitMQ ওয়েব ব্যবস্থাপনা ইন্টারফেস:RabbitMQ-এর সঙ্গে একটি ওয়েব ব্যবস্থাপনা ইন্টারফেস থাকে,যা ব্রাউজার দিয়ে ব্যবহার করা যায়। এটি সহজবোধ্য ব্যবহারকারী ইন্টারফেস দেয়,যার মাধ্যমে RabbitMQ সার্ভারের বিভিন্ন দিক দেখা ও পরিচালনা করা যায়,যেমন কিউ、এক্সচেঞ্জ、বাইন্ডিং、ব্যবহারকারীর অনুমতি ইত্যাদি। ডিফল্টভাবে,ওয়েব ব্যবস্থাপনা ইন্টারফেস 15672 পোর্টে চলে।
RokcetMQ
RocketMQ Console:RocketMQ আনুষ্ঠানিকভাবে একটি ওয়েব কনসোল সরবরাহ করে, যার নাম RocketMQ Console। এটি RocketMQ ক্লাস্টারের বিভিন্ন দিক পরিচালনা ও পর্যবেক্ষণের জন্য একটি দৃশ্যমান ইন্টারফেস দেয়, যার মধ্যে রয়েছে Topic, কনজিউমার গ্রুপ, বার্তা অনুসন্ধান, কর্মক্ষমতার পরিসংখ্যান ইত্যাদি। কনসোলের URL-এ গিয়ে আপনি এই টুল ব্যবহার করতে পারেন।
Kafka
Kafka Manager:Kafka Manager হলো Yahoo তৈরি একটি ওপেন সোর্স গ্রাফিক্যাল ব্যবস্থাপনা সরঞ্জাম, যা Apache Kafka ক্লাস্টার পরিচালনায় ব্যবহৃত হয়। এটি ক্লাস্টারের অবস্থা তাৎক্ষণিক পর্যবেক্ষণ, টপিক ও পার্টিশন ব্যবস্থাপনা, কনজিউমার গ্রুপ ব্যবস্থাপনা ইত্যাদি সুবিধা দেয়।
10、বার্তা প্যাটার্ন
মূলধারার মেসেজ মিডলওয়্যারের পরিবহন মডেল মূলত পয়েন্ট-টু-পয়েন্ট মডেল এবং প্রকাশ-সাবস্ক্রিপশন মডেল। বিস্তারিতভাবে:
RabbitMQ:
প্রকাশ–সাবস্ক্রাইব প্যাটার্ন:RabbitMQ প্রকাশ–সাবস্ক্রাইব প্যাটার্ন সমর্থন করে। এতে প্রযোজক এক্সচেঞ্জে(Exchange)বার্তা প্রকাশ করে, তারপর এক্সচেঞ্জ তার সঙ্গে বাইন্ডিং(Binding)করা একাধিক কিউতে বার্তা পাঠায়। গ্রাহকেরা স্বাধীনভাবে কিউ থেকে বার্তা গ্রহণ করতে পারে।
পয়েন্ট-টু-পয়েন্ট পদ্ধতি: RabbitMQ এই পদ্ধতিও সমর্থন করে। এতে প্রোডিউসার নির্দিষ্ট কিউতে বার্তা পাঠায়, তারপর কনজিউমার সেই কিউ থেকে বার্তা গ্রহণ করে। প্রতিটি বার্তা কেবল একজন কনজিউমারই গ্রহণ ও প্রক্রিয়া করতে পারে।
2.RocketMQ:
প্রকাশ–সাবস্ক্রিপশন পদ্ধতি:RocketMQ প্রকাশ–সাবস্ক্রিপশন পদ্ধতি সমর্থন করে, যেখানে উৎপাদক নির্দিষ্ট টপিকে(Topic)বার্তা পাঠায়, তারপর গ্রাহকেরা নিজেদের আগ্রহের টপিকে সাবস্ক্রাইব করে। RocketMQ-এর সাবস্ক্রিপশন পদ্ধতি সম্প্রচার ও ক্লাস্টার পদ্ধতির মতো বিভিন্ন ধরন সমর্থন করে, যার মাধ্যমে বার্তার মাল্টিকাস্ট বা লোড ভাগ করে বার্তা গ্রহণ ও প্রক্রিয়াকরণ করা যায়।
কিউ মোড:RocketMQ কিউ মোডও সমর্থন করে, যেখানে প্রোডিউসার নির্দিষ্ট কিউতে বার্তা পাঠায়, তারপর কনজিউমার সেই নির্দিষ্ট কিউ থেকে বার্তা গ্রহণ করে। একাধিক কনজিউমার একই কিউ থেকে সমান্তরালে বার্তা গ্রহণ ও প্রক্রিয়াকরণ করতে পারে।
3.Kafka:
প্রকাশ-সাবস্ক্রাইব পদ্ধতি:Kafka প্রকাশ-সাবস্ক্রাইব পদ্ধতি ব্যবহার করে,যেখানে প্রযোজকেরা নির্দিষ্ট বিষয়(Topic)-এ বার্তা প্রকাশ করে,তারপর গ্রাহকেরা নিজেদের আগ্রহের বিষয় সাবস্ক্রাইব করে。Kafka-এর সাবস্ক্রিপশন পদ্ধতি একাধিক গ্রাহক গোষ্ঠী সমর্থন করে,প্রতিটি গ্রাহক গোষ্ঠী স্বাধীনভাবে বার্তা গ্রহণ ও প্রক্রিয়াকরণ করতে পারে,ফলে উচ্চ থ্রুপুট ও অনুভূমিক সম্প্রসারণ সম্ভব হয়。
পার্টিশন পদ্ধতি:Kafka একটি টপিককে একাধিক পার্টিশনে ভাগ করে, প্রতিটি পার্টিশন বাস্তবে একটি স্বতন্ত্র লগ ফাইলের সঙ্গে যুক্ত। প্রোডিউসার নির্দিষ্ট পার্টিশনে বার্তা পাঠায়, আর কনজিউমার পার্টিশন অনুযায়ী সমান্তরালে বার্তা গ্রহণ করতে পারে। এই পার্টিশন পদ্ধতি Kafka-কে অনুভূমিকভাবে সম্প্রসারণ ও উচ্চ থ্রুপুট অর্জনের সুযোগ দেয়।