Здравствуйте!
Подскажите, пожалуйста, как настроить шину так, чтобы каждое опубликованные сообщение в очередь было получено каждым потребителем. Сейчас у меня один процесс публикует и получает сообщения в/из очереди и два процесса просто получают сообщения из очереди и при этом, каждое сообщение попадает только в один процесс, т.е. они все по очереди обрабатывают поток сообщений. как сделать так, чтобы сообщение потреблялось каждым процессом.
я настраиваю очередь так:
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host(new Uri("rabbitmq://localhost/"), h =>
{
h.Username("guest");
h.Password("guest");
});
cfg.ReceiveEndpoint(host,"customer_update_queue", ec =>
{
ec.LoadFrom(_instance);
});
});
_instance.RegisterInstance<IBusControl>(busControl);
_instance.RegisterInstance<IBus>(busControl);
busControl.Start();
_instance - это IoC контейнер Unity
в других процессах создание и подключение к шине выглядит так:
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host(new Uri("rabbitmq://localhost/"), h =>
{
h.Username("guest");
h.Password("guest");
});
cfg.ReceiveEndpoint(host, "customer_update_queue", ec =>
{
//ec.Consumer<SmsService>();
SmsService s = new SmsService();
ec.Instance(s);
});
});
busControl.Start();
Спасибо за внимание.