CodeShot
Azure Service Bus1 دقیقه مطالعه

Azure Service Bus چیست؟

یک Message Broker ابری در Azure برای ارتباط غیرهمزمان (Asynchronous) و قابل‌اعتماد بین سرویس‌ها و Microserviceها.

چرا مهم است؟

در معماری Microservices، سرویس‌ها نباید مستقیم و همزمان به هم وابسته باشند — Service Bus این وابستگی را باز می‌کند و پیام‌رسانی قابل‌اعتماد فراهم می‌کند.

Azure Service Bus چیست؟

Message Broker سرویس Azure که بین سرویس‌ها و اپلیکیشن‌ها ارتباط غیرهمزمان (Asynchronous) برقرار می‌کند تا نیازی نباشد سرویس‌ها مستقیم و همزمان به هم متصل باشند.

چرا از Azure Service Bus استفاده کنیم؟

کاهش وابستگی و Loose Coupling · افزایش مقیاس‌پذیری (Scalability) · تحمل خطا (Fault Tolerance) · پردازش غیرهمزمان · تضمین تحویل پیام (Reliable Messaging)

اجزای اصلی

Queue — ارتباط One-to-One: Producer → Queue → Consumer؛ هر پیام فقط توسط یک Consumer دریافت می‌شود. Topic & Subscription — ارتباط One-to-Many (Publish/Subscribe): یک Producer → یک Topic → چند Subscription (هر Subscription نسخه مستقلی از پیام دریافت می‌کند).

Delivery Modes

PeekLock (پیش‌فرض) — پیام قفل می‌شود و باید بعد از پردازش Complete شود؛ در صورت خطا دوباره قابل دریافت است. ReceiveAndDelete — پیام بلافاصله حذف می‌شود؛ سریع‌تر ولی مناسب داده‌های غیرحیاتی.

قابلیت‌های مهم

  • Dead Letter Queue (DLQ) — اگر پیام چند بار پردازش نشود یا مهلتش تمام شود، به یک Dead Letter Queue منتقل می‌شود.
  • Message Sessions — برای پردازش پیام‌های مرتبط به ترتیب (FIFO).
  • Duplicate Detection — جلوگیری از دریافت دوبار یک پیام تکراری.
  • Scheduled Messages — ارسال پیام در آینده.
  • Message TTL — هر پیام می‌تواند زمان انقضا داشته باشد؛ بعد از آن به DLQ منتقل می‌شود.
  • Retry — در صورت خطای موقت، بدون از دست رفتن پیام دوباره تلاش می‌کند.

Security

Azure AD Authentication · Shared Access Signature (SAS) · Role-Based Access Control (RBAC) · Encryption

سناریوهای رایج

ارتباط بین Microservices · Order Processing · Payment Processing · Email Queue · Notification Service · Inventory Update · Event-Driven Architecture

مزایا و معایب

مزایا: Reliable Messaging · High Availability · Scalability · Retry · Dead Letter Queue · Publish/Subscribe · Ordering و Session · Transaction Support معایب: هزینه برای Queueهای پرترافیک بیشتر می‌شود · افزایش پیچیدگی معماری · نیاز به مانیتورینگ و مدیریت بیشتر پیام‌ها

نکته کلیدی: Queue یعنی یک Producer به یک Consumer (One-to-One)؛ Topic یعنی Publish/Subscribe (One-to-Many)؛ Dead Letter Queue محل نگهداری پیام‌های ناموفق است؛ Azure Service Bus برای معماری‌های Microservices و Event-Driven مناسب است.

خلاصه

  • Azure Service Bus یک Message Broker برای ارتباط غیرهمزمان و قابل‌اعتماد بین سرویس‌هاست.
  • Queue برای ارتباط One-to-One و Topic/Subscription برای Publish/Subscribe (One-to-Many) استفاده می‌شود.
  • Dead Letter Queue، Retry و Message Sessions قابلیت‌هایی هستند که تحویل پیام را قابل‌اعتماد می‌کنند.

حالا امتحان کن

🧩آزمون Azure Service Bus6 سؤال · نمره قبولی 60٪
این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←