<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های پدرام کریمی</title><link>https://virgool.ir/feed/@codeya</link><description></description><language>fa</language><pubDate>2026-11-11 16:52:53</pubDate><image><url>https://files.virgool.ir/upload/users/1908477/avatar/m1jcH7.jpg</url><title>پدرام کریمی</title><link>https://virgool.ir/@codeya</link></image><item><title>ارسال اطلاعات بین چند ماکروسرویس با RabbitMq بدون از دست رفت هیچ داده ای!</title><link>https://virgool.ir/@codeya/ارسال-اطلاعات-بین-چند-ماکروسرویس-با-rabbitmq-بدون-از-دست-رفت-هیچ-داده-ای-y24thrgzpkxw</link><description>با سلام، همین اول اعلام کنم که منظور از هیچ داده ای overflow‌ شدن صف و مسائل دیگه نیست!اطلاعات این مقاله، ریست شدن سرور یا هر کدوم از سرویس ها رو پوشش میدهدر صورتی که این مقاله دارای نقصی بود، حتما اعلام کنید ممنونمستقیم میرم سر اصل مطلب...سناریو :۱- چندین ماکروسرویس داریم که میتونن هر کدوم میتونه توی یک زمانی دان بشه و ما نمیدونیم کدوم چه زمانی داون هست.۲- اطلاعات خیلی مهمی هست و حتما باید پیغام ما از طریق ماکروسرویس هدف دریافت بشه.توی ربیت، چندین مدل ارسال پیام داریم که برای این حالت ما به Direct احتیاج داریم چرا که دریافت پیام برای ما مهم هستExchange: نویسندهQueue: خوانندهRoutingKey: تگی هست که میگه این پیام رو کدام خواننده ها باید دریافت کنندخوب این مثال ها شاید باعث بشه درک راحت تری از عملکرد ربیت پیدا کرد.?یعنی یه پیامی که ارسال میکنیم از طریق یک اکسچنج ، با توجه به RoutingKey های Bind شده به Queue ها، پیام رو توی صف ها قرار میدهاگر بازم متوجه نشدین عکس رو ببینیدراه حل:۱- یک Direct Exchange احتیاج داریم.۲- یک RoutingKey ثابت(Constant) برای تمام این صف هایی که در ادامه ایجاد میکنیم.۳- به ازای هر یک  از سرویس هایی که نیاز به دریافت پیام دارد، یک صف با مشخصات زیر احتیاج داریم :Durable : true , Exclusive : false , AutoDelete : falseو باید هرکدام از صف ها رو به Bind کنیم.۴- پیام ها باید Persistent باشند.۵- بعد از خواندن پیام، پیام باید از Queue حذف بشه به عبارتی Acknowledge باید بشهکار بیشتری هم نیاز نیست!لینک پیاده سازی با دات نتلینک منبع مرتبط با ربیت</description><category>پدرام کریمی</category><author>پدرام کریمی</author><pubDate>Tue, 22 Nov 2022 20:59:25 +0330</pubDate></item></channel></rss>