💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۱۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Reza Mobaraki
مفاهیم مرتبط با rabbitMQ
Reza Mobaraki حل شده توسط Reza Mobaraki

سلاااام . . . 

معماری‌های توسعه >> 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) استفاده میشود 
 قبل از ارسال الگو هارو بررسی میکنه هرجا مطابقت ایجاد شود پیام ارسال میشود .

بهترین پاسخ
Reza Mobaraki ۰۸ خرداد ۱۴۰۰، ۱۰:۱۴