RabbitMQ-তে বেশ কয়েকটি এক্সচেঞ্জ প্রকার রয়েছে যা নির্ধারণ করে যে কীভাবে বার্তাগুলি কিউতে রুট করা হবে — direct, topic, fanout, এবং headers। এগুলি বোঝা RabbitMQ-এর নমনীয় রুটিংয়ের জন্য গুরুত্বপূর্ণ, যা বিভিন্ন মেসেজিং প্যাটার্ন সক্ষম করে।
এক্সচেঞ্জ প্রকারগুলি
DIRECT → routes by an EXACT routing key match:
→ message routing key = queue binding key → delivered to that queue
→ for: routing to specific queues by a key (e.g. route by severity, type)
FANOUT → broadcasts to ALL bound queues (ignores routing key):
→ every queue bound to the exchange gets the message → PUB/SUB (one-to-many)
→ for: broadcasting events to all interested consumers
TOPIC → routes by PATTERN matching on the routing key (wildcards):
→ routing keys like "order.created", "order.*", "*.error" → flexible pattern routing
→ for: routing by topics/categories with wildcards (flexible pub/sub)
HEADERS → routes by message HEADER attributes (not the routing key) → less common
