مسیج بروکر در معماری نرمافزار نقش حیاتی دارد. مسیج بروکر (Focus Keyword) یک میانافزار است که پیامها را از تولیدکنندهها (Producers) دریافت و به مصرفکنندهها (Consumers) ارسال میکند. این ابزار، هنگام استفاده در سیستمهای توزیعشده مثل میکروسرویسها، باعث میشود ارتباط بین اجزا قابل اعتماد و مقیاسپذیر باشد.
تاریخچه مسیج بروکر
مسیج بروکرها از دهه ۱۹۸۰ شروع شدند. با رشد سیستمهای توزیعشده و افزایش پیچیدگی ارتباطات بین سرویسها، نیاز به ابزارهایی ظهور کرد که پیامها را بهصورت مطمئن منتقل کنند.
تاریخچه مسیج بروکر
مسیج بروکرها از دهه ۱۹۸۰ شروع شدند. با رشد سیستمهای توزیعشده و افزایش پیچیدگی ارتباطات بین سرویسها، نیاز به ابزارهایی ظهور کرد که پیامها را بهصورت مطمئن منتقل کنند
چرا از مسیج بروکر استفاده کنیم؟
جدایی مؤلفهها: سیستمها بدون نیاز به دانستن آدرس همدیگر، پیام ارسال میکنند.
مقیاسپذیری: با صفبندی پیامها، پردازش با بار کنترلشده اتفاق میافتد .
قابلیت اطمینان: تضمین رسیدن و پویایی در صورت خطا.
انعطافپذیری پروتکلها: قابلیت تبدیل پیام، روتینگ و فیلتر کردن محتوا
ساختار و اجزا
۱. تولیدکننده (Producer/Publisher) ۲. مصرفکننده (Consumer/Subscriber) ۳. صف یا موضوع پیام (Queue/Topic) ۴. اجزای روتینگ: Exchange، topic، routing key
انواع مسیج بروکرها
الگوی صف پیام (Point-to-Point)
در این الگو، هر پیام فقط یک مصرفکننده را هدف میگیرد. صفها عبارت FIFO را پیاده میکنند.
مثال: Apache ActiveMQ
الگوی انتشار/اشتراک (Publish-Subscribe)
در این مدل، تولیدکننده پیام را در یک topic منتشر میکند و چندین Subscriber دریافت میکنند.
مثال: RabbitMQ
پردازش جریان (Stream Processing)
برای دادههای پیوسته و حجیم مناسب است.
مثال: Apache Kafka
بروکرهای توزیعشده (Distributed Brokers)
دارای مقیاسپذیری بالا و تحمل خطا.
مثال: Apache Pulsar
نمونههای معروف
بروکر
پروتکل اصلی
کاربرد اصلی
RabbitMQ
AMQP, MQTT, STOMP
صف و pub‑sub، میکروسرویس
Apache Kafka
TCP log-based
پردازش جریان، بلادرنگ
ActiveMQ
JMS, MQTT, AMQP
سیستمهای سازمانی
Amazon SQS
AWS cloud
صف مدیریتشده
Google Pub/Sub
HTTP/gRPC
پیامرسانی توزیعشده
(برای هر مورد توضیح دهید و لینکهای داخلی یا خارجی قرار دهید.)