MassTransit ile basit bir yayıncı/tüketici seti uyguladım ve tüketicilerin de iletileri aynı sıradan okumasını istiyorum. Ancak, çalıştırdığımda, tüketilmek yerine hata sırasına gönderilen iletilerin büyük bir kısmını görüyorum. Gördüğüm tartışmalardan (SO, Forum), bu RabbitMQ ile gerçekten çok basit olmalı (sadece aynı sıraya bakın), ama işe yaramıyor. Ayarlanması gereken ek bir yapılandırma var mı?RabbitMQ ile Toplu Taşımada Tüketicilerin Rekabet Edilmesi
Burada aynı sıraya olamaz Benim Yayınevi
public class YourMessage { public string Text { get; set; } }
public class Program
{
public static void Main()
{
Console.WriteLine("Publisher");
Bus.Initialize(sbc =>
{
sbc.UseRabbitMqRouting();
sbc.ReceiveFrom("rabbitmq://localhost/test_queue");
});
var x = Console.Read();
for (var i = 0; i <= 1000; i++)
{
Console.WriteLine("Message Number " + i);
Bus.Instance.Publish(new YourMessage { "Message Number " + i });
}
}
}
Ve My Tüketici
public class YourMessage { public string Text { get; set; } }
public class Program
{
public static void Main()
{
Console.WriteLine("Consumer");
Bus.Initialize(sbc =>
{
sbc.UseRabbitMqRouting();
sbc.ReceiveFrom("rabbitmq://localhost/test_queue");
sbc.Subscribe(subs =>
{
var del = new Action<IConsumeContext<YourMessage>,YourMessage>((context, msg) =>
{
Console.WriteLine(msg.Text);
});
subs.Handler<YourMessage>(del);
});
});
while (true) { }
}
}