র্যাবিটএমকিউ টপিক মোড রাউটিং মোডের মতো, কিন্তু পার্থক্য হল টপিক মোডের রাউটিং ম্যাচিং টা উইল্ডকার্ড ফাজি ম্যাচিংকে সাপোর্ট করে, যেখানে রাউটিং মোড কেবল এক্যুয়েট ম্যাচিংকে সাপোর্ট করে।
অ্যার্কিটেকচার ডায়াগ্রাম
ব্যাখ্যা:
- P প্রডিউসার এবং X এক্সচেঞ্জ সূচিত করে, এবং লাল কিউ Q1, Q2 কিউ নির্দেশ করে, C1, C2 ম্যাচিংকে উপভোক্তা গুলির জন্য।
- এক্সচেঞ্জের ধরন হল টপিক।
- টপিক এক্সচেঞ্জ বার্তা প্রেরণের লজিক: এটি বার্তা এর রাউটিং কী কে বাইন্ডিংর সাথে ফাজি ম্যাচিং ব্যবহার করে এক্সচেঞ্জের সব বাইন্ডিং এর সাথে ম্যাচিং করে, এবং যদি ম্যাচিং পাওয়া যায়, তবে এটি বাইন্ডিং কিউ তে বার্তা পাঠায়।
টিপ: টপিক মোড এবং ডিরেক্ট মোডের পার্থক্য হল রাউটিং কীর ম্যাচিং যদি উইল্ডকার্ড ফাজি ম্যাচিং সাপোর্ট করে কিনা, অন্যথায় সব কিছু একই আছে।
টপিক দ্বারা সাপোর্ট করা উইল্ডকার্ড গুলি হল:
-
#
(হ্যাশ) এক বা একাধিক শব্দের সাথে ম্যাচিং করে -
*
(এস্টারিস্ক) শুধুমাত্র একটি শব্দের সাথে ম্যাচিং করে
উদাহরণ:
কিউ Q1 এ বাইন্ডিং করা রাউটিং কী = *.orange.*
কিউ Q2 এ বাইন্ডিং করা রাউটিং কী = *.*.rabbit
এবং lazy.#
যদি বার্তা এর রাউটিং কী "quick.orange.rabbit" হয়, তবে এটি Q1 এবং Q2 উভয়ই ম্যাচ করে।
টিপ: যদি রাউটিং কী কোনও কিউ এর সাথে ম্যাচ না করে, তবে বার্তা বাতিল হয়ে যাবে। রাউটিং কী খালি থাকলে, এটি ফ্যানআউট মোডে এবং বার্তা সরাসরি সব কিউ তে পাঠায়।
ব্যবহারের ক্ষেত্র
রাউটিং মোডের মতো, পার্থক্য হল সাবস্ক্রিপশন শর্তগুলির ফ্লেক্সিবিলিটি, বিশেষভাবে রাউটিং কীর জন্য আরও ফ্লেক্সিবল ম্যাচিং নিয়ম।