سلاااام . . .
معماری های توسعه >> monolitic , microservice
monolitic => همه برنامه ها یکجا تعریف میشوند .
microservice => برنامه ها به بخش های جدا از هم تقسیم میشوند .
producer => درخواست کننده ، consumer => گیرنده درخواست (سرور)
fault isolation => اگر مشکلی توی برنامه بوجود بیاد مربوط به خود میکروسرویس هست (نیازی نیست کل برنامه بررسی شود)
broker => بخش های مختلف برنامه رو به هم متصل میکنه
>> در خواست هارو توی صف Enqueue میکنه
>> وقتی درخواست ها یا پیام ها خوانده میشوند Dequeue میشوند
exchange => تصمیم میگیره هر درخواست توی کدوم صف قرار بگیره
>> به ارتباط بین exchange و queue >>> انقیاد میگویند ( binding )
انواع exchange :
>> Direct : با استفاده از routing-key درخواست ها بین صف ها تقسیم میشوند(مشخص میکنیم هر نوع درخواست به کدام صف تعلق بگیرد )
>> fanout : درخواست توی تمام صف ها کپی میشود
>> topic : با توجه به یکسری پترن ،الگو و کلمات درخواست های بین صف ها تقسیم میشوند (Regex)
-----------------------------------------------------------------------
تصویر مربوطه آپلود شد .
موفق باشید ?
نوع بعدی exhange >>
headers >> که به صورت key-value مقدار میگیرد
توی header مقدار x-match مقادیر any یا all را میگیرد
any => اگر یکی از مقادیر مطابقت داشت ارسال شود
all => باید همه مقادیر مطابقت داشته باشد تا ارسال شون
-------------------------
topic => با استفاده از تکنیک دات نوتیشن (Dot Notation) استفاده میشود
قبل از ارسال الگو هارو بررسی میکنه هرجا مطابقت ایجاد شود پیام ارسال میشود .