TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #152 115
⚖️ الگوی Competing Consumers – مقیاس‌پذیری
وقتی چند مصرف‌کننده روی یک صف باشند:

هر پیام فقط به یک مصرف‌کننده تحویل داده می‌شود.

📊و RabbitMQ پیام‌ها را به صورت Round-Robin بین مصرف‌کنندگان تقسیم می‌کند.

💪 مناسب برای توزیع بار پردازش بین چند Worker.

📡 Fanout Exchange – پخش پیام به همه مصرف‌کنندگان

وقتی می‌خواهید همه سرویس‌ها پیام را دریافت کنند:

هر مصرف‌کننده صف اختصاصی خود را دارد.

و Exchange از نوع Fanout پیام را کپی کرده و به همه صف‌های متصل ارسال می‌کند.

📝 کد Producer – Fanout
await channel.ExchangeDeclareAsync(
exchange: "orders",
durable: true,
autoDelete: false,
type: ExchangeType.Fanout);

await channel.BasicPublishAsync(
exchange: "orders",
routingKey: string.Empty,
mandatory: true,
basicProperties: new BasicProperties { Persistent = true },
body: body);

📝 کد Consumer – Fanout
await channel.ExchangeDeclareAsync(
exchange: "orders",
durable: true,
autoDelete: false,
type: ExchangeType.Fanout);

await channel.QueueDeclareAsync(
queue: "orders-consumer-1",
durable: true,
exclusive: false,
autoDelete: false,
arguments: null);

await channel.QueueBindAsync("orders-consumer-1", "orders", string.Empty);

📈 گام‌های بعدی
🎯 استفاده از Direct Exchange یا Topic Exchange برای مسیردهی دقیق‌تر.

🔄 پیاده‌سازی Retry Policy و Dead-Letter Queue برای مدیریت خطاها.

📊 پایش و مانیتورینگ پیام‌ها با Management UI.

🏷 هشتگ‌ها:
#RabbitMQ #DotNet #EventDrivenArchitecture #MessageBroker
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →