ممکن است که یک برنامه نیاز به ارسال داده ها یا فایل های پیکربندی به برنامه ها یا سرویس های دیگر داشته باشد. هنگامی که بسیاری از برنامه ها و خدمات به یکدیگر وابسته هستند، مدیریت صحیح انتقال داده می تواند یک نگرانی جدی باشد. این انتقال داده بین برنامه ها، سرویس ها و کاربران بسیار مهم است و باید به درستی مدیریت شود. این انتقال داده توسط Azure Service Bus کمک می شودکه یک فرشته است
آبی یک سرویس رایانش ابری مقیاس پذیر و سازگار است که ابتدا در سال 2008 پیشنهاد شد، سپس در سال 2010 با نام Windows Azure معرفی شد و در سال 2014 به Microsoft Azure تغییر نام داد. بر خلاف زیرساختهای سنتی فناوری اطلاعات، که شما را ملزم به راهاندازی یک سرور داخلی میکند. Azure مبتنی بر ابر است، به شما امکان می دهد برنامه های خود را با استفاده از یک سایت ذخیره سازی ابری جهانی تحت مدیریت مایکروسافت طراحی، اجرا و مدیریت کنید. Azure دارای گواهینامه های انطباق بیشتری نسبت به سایر ارائه دهندگان ابر است و میزبان بیش از 200 محصول و سرویس ابری است، از جمله Azure Service Bus، یک سرویس پیام رسانی.
در زیر برخی از موضوعات پوشش داده شده در این وبلاگ اتوبوس خدمات Azure آورده شده است:
اتوبوس خدماتی Azure چیست؟
چرا اتوبوس سرویس لاجورد؟
ویژگی های اتوبوس سرویس لاجورد
معماری
مفهوم اتوبوس سرویس Azure
مقایسه صف btw در مقابل موضوع
نتیجه
اتوبوس خدماتی Azure چیست؟
Microsoft Azure Service Bus یک کارگزار پیام سازمانی با صفها و موضوعات انتشار-اشتراک است که به طور کامل مدیریت میشوند (در یک فضای نام). به طور خلاصه، این یک دلال پیام است که انتقال پیام ها را ساده می کند. دارای صفها، موضوعات و کلاینتها، فضاهای نام و سایر ویژگیهایی است که به تحویل پیام کمک میکنند. به طور کامل مدیریت می شود، به این معنی که کاربران نیازی به ورود به سیستم و پیکربندی آن ندارند. موضوعات و صفهای پیام، پردازش چند وجهی انتقال پیام بین برنامهها و سرویسها را فراهم میکنند و به برنامهها اجازه میدهند تا به طور مؤثر عمل کنند و مشکلات انتقال داده را حل کنند. گذرگاه سرویس، برنامهها و سرویسها را قادر میسازد تا به طور مستقل عمل کنند و در نتیجه مصرف منابع کمتر و نقاط خرابی کمتری به همراه داشته باشد.
چرا اتوبوس سرویس لاجورد؟
نرم افزاری که با سایر نرم افزارها ارتباط برقرار می کند، جوهر یکپارچه سازی برنامه ها است. با این حال، این ارتباط چگونه باید انجام شود؟ اتصال مستقیم از طریق مدیریت API گاهی اوقات بهترین گزینه است. از سوی دیگر، این حالت ارتباط همزمان در همه شرایط کار نخواهد کرد. برای مثال اگر هر دو برنامه همزمان در دسترس نباشند چه می شود؟ یک روش ناهمزمان در چنین مواردی ضروری است. اتوبوس سرویس برای تسهیل این نوع ارتباط طراحی شده است. گذرگاه سرویس تعاملات غیرمسدود بین بخشهای مختلف نرمافزار را تسهیل میکند زیرا به برنامهها اجازه میدهد تا پیامها را از طریق صفها مبادله کنند.
ویژگی های اتوبوس سرویس لاجورد
دارایی برای رفع نیازهای تجاری
جلسه پیام رسانی
برای دریافت ضمانت اولین ورود، اولین خروج (FIFO) در اتوبوس خدمات، از جلسه استفاده کنید. جلسه پیام، عملیات ترکیبی و متوالی تعداد نامتناهی از توالی پیامهای مرتبط را فعال میکند.
حمل و نقل خودکار
ویژگی ارسال خودکار به شما امکان می دهد یک صف یا اشتراک را به صف یا زنجیره موضوعات دیگری که بخشی از فضای نام یکسان است اضافه کنید. هنگامی که حمل و نقل خودکار فعال است، گذرگاه سرویس به طور خودکار پیام هایی را که در صف اول یا اشتراک (منبع) قرار می گیرند، حذف می کند و آنها را در صف یا موضوع دوم (مقصد) قرار می دهد.
حروف مرده
Azure Service Bus از یک صف مرده (DLQ) پشتیبانی می کند تا پیام هایی را که نمی توانند به هیچ گیرنده ای تحویل دهند یا پیام هایی را که پردازش نمی شوند نگه می دارد. سپس می توانید پیام ها را از DLQ حذف کرده و آنها را بررسی کنید.
تحویل به موقع
می توانید پیامی را به صف یا موضوعی ارسال کنید تا پردازش با تأخیر انجام شود. به عنوان مثال، برای اینکه یک کار در زمان معینی برای پردازش توسط سیستم در دسترس باشد، برنامه ریزی کنید.
پیام به حالت تعلیق درآمد
هنگامی که یک مشترک صف یا اشتراک پیامی دریافت می کند که آماده پردازش است، اما پردازش آن در حال حاضر به دلیل شرایط خاص در برنامه امکان پذیر نیست، موجودیت ممکن است پیام را در مرحله بعدی بازیابی کند. یک گزینه وجود دارد. به تعویق انداختن پیام در صف یا اشتراک باقی می ماند، اما جداگانه نگهداری می شود.
دسته بندی
دسته بندی سمت مشتری، یک صف یا موضوع را قادر می سازد تا ارسال پیام به مشتری را برای مدت زمان معینی به تاخیر بیندازد. اگر مشتری در این بازه زمانی پیامهای دیگری ارسال کند، پیامها را در یک دسته ارسال میکند.
معاملات
یک تراکنش دو یا چند وظیفه را با هم در محدوده اجرا گروه بندی می کند. Azure Service Bus از عملیات گروهی در برابر یک موجودیت پیام واحد (صف، موضوع، اشتراک) در محدوده تراکنش پشتیبانی می کند.
فیلتر کردن و اقدامات
اعضا می توانند تعیین کنند که چه پیام هایی را می خواهند از یک موضوع دریافت کنند. این پیام ها به عنوان یک یا چند قانون اشتراک با نام مشخص شده اند. برای هر شرط قانون تطبیق، اشتراک یک کپی از پیام تولید می کند که می تواند به طور جداگانه برای هر قانون تطبیق تفسیر شود.
حذف خودکار در صورت غیرفعال بودن
حذف خودکار در حالت بیکار به شما امکان می دهد یک بازه زمانی بیکار را مشخص کنید که پس از آن صف به طور خودکار حذف می شود. حداقل مدت زمان 5 دقیقه است.
تقسیم
تقسیمبندی گذرگاه خدمات، تقسیم صفها و موضوعات یا موجودیتهای پیام را به چند کارگزار پیام و فروشگاه پیام امکانپذیر میسازد. پارتیشن بندی به این معنی است که توان عملیاتی کلی یک موجودیت پارتیشن بندی شده دیگر محدود به عملکرد یک کارگزار پیام یا فروشگاه پیام رسان نیست. علاوه بر این، بسته شدن موقت فروشگاه پیامرسان، صف تقسیم یا موضوع را از دسترس خارج نمیکند. تقسیم صف ها و موضوعات می تواند تمام ویژگی های باس خدمات پیشرفته، مانند پشتیبانی از تراکنش ها و جلسات را داشته باشد.
تشخیص تکراری
اگر خطایی رخ دهد که باعث شود مشتری در مورد نتیجه عملیات ارسال شک کند، تشخیص تکراری با فعال کردن فرستنده برای ارسال مجدد همان پیام، شک و تردید را از این موقعیت ها برطرف می کند و صف یا موضوع می توانند همان پیام را دوباره ارسال کنند. همچنین کپی های تکراری را دور می اندازد.
معماری
صف، موضوع و رله سه نوع مکانیسم ارتباطی هستند که در سرویس اتوبوس Azure موجود هستند. صف ها و موضوعات ارتباط یک طرفه را تسهیل می کند. پیام ها تا زمان خوردن به طور نامحدود نگه داشته می شوند. یک گیرنده هر پیام را در صف دریافت می کند. اشتراک های مختلفی برای یک موضوع برای چندین گیرنده امکان پذیر است. اشتراک ها می توانند پیام هایی را که می خواهند دریافت کنند بر اساس معیارها انتخاب کنند. برای دریافت پیامها از صفها و موضوعات میتوان از Service Bus-Defined Messaging API یا REST API استفاده کرد. SDK برای سایر زبان ها نیز موجود است. برخلاف صفها و موضوعات، رلهها امکان ارتباط دوطرفه را بدون ذخیرهسازی پیامها فراهم میکنند.
کاربران برای دسترسی به این سرویس های پیام رسانی باید در زیر اشتراک Azure خود فضای نامی ایجاد کنند. فضای نام را می توان به عنوان یک فضای ذخیره سازی منطقی برای اجزای پیام در نظر گرفت. در یک جزء باس سرویس واحد (صف، موضوع و رله)، اجزای اتوبوس خدمات متعدد (صف، موضوع و رله) را می توان یافت. در همان فضای نام
مفهوم اتوبوس سرویس Azure
این بخش مفاهیم اساسی سرویس اتوبوس را مورد بحث قرار می دهد.
تمام اجزای ارتباطی در یک فضای نام (صف و موضوع) قرار دارند. یک فضای نام واحد می تواند شامل صف ها و موضوعات متعدد باشد، بنابراین فضاهای نام اغلب به عنوان کانتینرهای برنامه استفاده می شوند.
در اصطلاح کارگزاران دیگر، یک فضای نام را می توان با یک سرور مقایسه کرد، اگرچه ایده ها دقیقاً یکسان نیستند. فضای نام Service Bus یک قطعه ظرفیت از یک خوشه بزرگ است که شامل ده ها ماشین مجازی فعال است. در صورت تمایل، این می تواند تا سه منطقه در دسترس بودن Azure باشد. در نتیجه، شما از تمام مزایای اجرای یک کارگزار پیام انبوه از نظر در دسترس بودن و انعطاف پذیری برخوردار هستید. حتی نیازی نیست که به پیچیدگی ذاتی آن فکر کنید. پیامرسانی بدون سرور همان چیزی است که گذرگاه خدمات در مورد آن است.
از صف ها برای ارسال و دریافت پیام استفاده می شود. پیام ها در صف ها ذخیره می شوند تا زمانی که برنامه دریافت کننده آماده پذیرش و پردازش آنها باشد.
به محض ورود، پیامها در صفهایی مرتب شده و مهر زمانی زده میشوند. اگر فضای نام منطقه فعال باشد، پیام همیشه پس از پذیرفته شدن توسط کارگزار در فضای ذخیره سازی سه گانه قرار می گیرد. پس از پذیرش پیام ها توسط مشتری، گذرگاه سرویس هرگز آنها را در حافظه یا ذخیره سازی فرار نگه نمی دارد.
پیام ها به صورت پل ارسال می شوند، به این معنی که فقط زمانی ارسال می شوند که درخواست شوند. برخلاف معماریهای پرمشغله نظرسنجی برخی دیگر از صفهای ابری، عملیات کشش میتواند طولانیمدت باشد و تنها پس از دسترسی به پیام به پایان میرسد.
از سوژه ها می توان برای ارسال و دریافت پیام استفاده کرد. موضوعات در زمینه های انتشار/اشتراک، جایی که یک صف معمولاً برای ارتباط نقطه به نقطه استفاده می شود، مفید هستند. اشتراکهای مستقل و چندگانه میتوانند به یک موضوع متصل شوند و از دیدگاه گیرنده مانند صفها رفتار کنند. هر پیام ارسال شده به یک موضوع می تواند توسط مشترک آن موضوع دریافت شود. به عضویت ها نهادهای تعیین شده گفته می شود. اشتراکها بهطور پیشفرض باقی میمانند، اگرچه میتوان آنها را منقضی کرد و سپس بهطور خودکار پاک شد. Service Bus Premium علاوه بر این به شما امکان می دهد با استفاده از Java Message Service (JMS) API اشتراک های فرار برای مدت زمان اتصال ایجاد کنید.
مقایسه صف btw در مقابل موضوع
صف ها | موضوع |
چندین گیرنده را می توان به صف اضافه کرد، اما هر پیام تنها به یکی از آنها ارسال می شود. | پیام ها را می توان توسط چندین گیرنده (مشترک) دریافت کرد و هر پیام را می توان به هر تعداد مشترک مرتبط با هر موضوع تحویل داد. |
از آنجایی که پیام ها فقط توسط یک نفر دریافت می شود، هیچ فیلتری برای صف مورد نیاز نیست. | مجموعه ای از ویژگی ها را می توان به هر پیامی که در یک موضوع ارسال می شود، پیوست. هنگامی که یک فیلتر عضویت سفارشی اعمال می شود، از ویژگی ها استفاده می شود. |
اگر میخواهید یک صف را افزایش دهید، همچنان محدود به گوش دادن به یک مشترک هستید. | از آنجایی که بیش از یک مصرف کننده می توانند به پیام ها گوش دهند، موضوعات می توانند مقیاس پذیرتر از صف ها باشند. نیازی به ایجاد مجدد موضوع نیست. هنگامی که یک اشتراک جدید ایجاد می شود، تمام پیام های جدید ارسال شده به آن موضوع نیز توسط مشترک جدید دریافت می شود. |
پیام ها می توانند به طور خودکار به یک صف یا موضوع ارسال شوند. با این حال، موضوع نمی تواند مقصد اشتراک باشد. | پیام ها می توانند به طور خودکار از یک موضوع به یک صف یا به موضوع دیگری ارسال شوند. علاوه بر این، اشتراک موضوع اجازه می دهد تا پیام ها به یک صف یا موضوع ارسال شوند. |
اولین گیرنده ای که پیام را می خواند، آن را از صف حذف می کند و از پردازش آن توسط خوانندگان بیشتر جلوگیری می کند. | پیام تنها پس از اینکه هر گیرنده پیام را پردازش کرد، کنار گذاشته می شود. هنگامی که پیام از همه اعضا خوانده می شود، پیام نیز از موضوع حذف می شود. |
اگر میخواهید پیامها را در یک سیستم یک به یک ارسال کنید، با صفهای اتوبوس سرویس بروید. | اگر نیاز به ارسال پیام به چندین سیستم دارید، موضوع سرویس اتوبوس را انتخاب کنید. |
نتیجه
بنابراین مایکروسافت سرویس گذرگاه از آنجایی که سرویس پیام رسانی ویژگی های بسیاری را ارائه می دهد، ما نمی توانیم همه آنها را در یک پست پوشش دهیم. فضاهای نام جفت شده، پشتیبانی AMQP، PartitionedQueue و بسیاری ویژگی های دیگر در دسترس هستند. به طور خلاصه، Azure Service Bus ما را قادر میسازد تا اجزای نرمافزاری با اتصال آزاد را با حداقل تلاش برای استقرار و مقیاسپذیری و در دسترس بودن ارتباط عالی بسازیم. این به معمار/توسعهدهنده اجازه میدهد تا با ارائه سه نوع خدمات مختلف، موقعیتهای ارتباطی مختلف را طراحی کند.
اگر می خواهید در مورد Azure بیشتر بدانید، توصیه می کنم این ویدیو را تماشا کنید:
امیدوارم این اتوبوس سرویس Azure برای شما مفید باشد. موضوعاتی که در این وبلاگ تحت پوشش قرار می گیرند، مجموعه مهارت های مورد نیاز حرفه ای ها هستند. اگر علاقه مند به تسلط بر Azure هستید، لطفا از وب سایت Edureka ما دیدن کنید و ثبت نام کنید دوره آموزشی Microsoft Azure Certification،