اتوبوس سرویس لاجورد
Azure Service Bus یک سرویس پیام رسانی کاملاً مدیریت شده از مایکروسافت است که به برنامهها اجازه میدهد بدون نگرانی در مورد زیرساخت اصلی، پیامها را به یکدیگر ارسال کرده و پیامها را با اطمینان دریافت کنند. این سرویس اغلب برای سناریوهایی استفاده میشود که در آن ارتباط جداشده بین برنامهها مورد نیاز است، مانند معماری میکروسرویسها، یا برای فعال کردن ارتباط بین ابر و سیستمهای داخلی.
این مقاله به بررسی Azure Service Bus، کارهایی که انجام می دهد و نحوه استفاده از آن در یک برنامه C# می پردازد.
اتوبوس خدماتی Azure چیست؟
Azure Service Bus یک سرویس پیام رسانی است که به برنامه ها امکان می دهد پیام ها را به شیوه ای قابل اعتماد، ایمن و مقیاس پذیر ارسال و دریافت کنند. این سرویس بر روی Azure's Service Fabric ساخته شده است و زیرساخت پیام رسانی را فراهم می کند که می تواند پیام های زیادی را مدیریت کند و الگوهای پیام رسانی متعدد را پشتیبانی کند.
یکی از ویژگی های کلیدی Azure Service Bus توانایی آن در پشتیبانی از الگوهای پیام رسانی متعدد، مانند پیام رسانی نقطه به نقطه، انتشار/اشتراک پیام، و پیام درخواست/پاسخ است. این آن را به یک راه حل ایده آل برای بسیاری از موارد استفاده می کند، مانند فعال کردن ارتباط بین میکروسرویس ها، ارسال و دریافت پیام بین سیستم های ابری و درون محل، و رسیدگی به کارهای پس زمینه یا گردش کار.
تفاوت بین اتوبوس خدمات Azure و صف چیست؟
Azure Service Bus دو الگوی پیام رسانی اصلی را ارائه می دهد: صف ها و موضوعات/اشتراک ها. هم صفها و هم موضوعات/اشتراکها جداسازی فرستنده و گیرنده را امکانپذیر میسازند، اما در نحوه رسیدگی به تحویل پیام تفاوت دارند.
صف یک کانال یک طرفه است که پیام ها را تا زمانی که گیرنده آنها را بازیابی کند نگه می دارد. هنگامی که یک پیام به یک صف ارسال می شود، در صف ذخیره می شود تا زمانی که مصرف کننده به طور فعال آن را بازیابی کند. صف تضمین میکند که پیامها به ترتیبی که دریافت شدهاند و هر پیام به یک مصرفکننده تحویل داده میشود.
از سوی دیگر، موضوع یک کانال انتشار/اشتراک است که به چندین مشترک اجازه میدهد پیامهایی را دریافت کنند که در یک موضوع منتشر میشوند. مشترکین میتوانند پیامهایی را که دریافت میکنند بر اساس ویژگیهای پیام فیلتر کنند و پیامها را میتوان همزمان به چندین مشترک تحویل داد. پیامهایی که به یک موضوع ارسال میشوند تا زمانی که به طور فعال مصرف نشوند در یک اشتراک نگهداری میشوند، اما وقتی مشترک آنها را دریافت میکند حذف نمیشوند.
تفاوت اصلی بین یک صف اتوبوس خدمات Azure و یک موضوع این است که یک صف یک مدل تحویل پیام یک به یک ارائه می دهد، در حالی که یک موضوع یک مدل تحویل پیام یک به چند ارائه می دهد. علاوه بر این، موضوعات از فیلتر کردن پیام و اشتراک پشتیبانی می کنند، در حالی که صف ها از فیلتر کردن پیام پشتیبانی نمی کنند.
شروع کار با Azure Service Bus در سی شارپ
برای شروع استفاده از Azure Service Bus در یک برنامه C#، باید یک فضای نام Service Bus ایجاد کنید و یک Azure Service Bus Queue یا یک موضوع/اشتراک تنظیم کنید. فضای نام محفظهای است که همه موجودیتهای پیامرسان مانند صفها و موضوعات را برای یک راهحل معین نگه میدارد.
هنگامی که یک فضای نام ایجاد کردید، می توانید از بسته Microsoft.Azure.ServiceBus NuGet برای تعامل با Service Bus از برنامه C# خود استفاده کنید. این بسته یک API ساده و راحت برای ارسال و دریافت پیام و همچنین مدیریت موجودیت های پیام رسان ارائه می دهد.