MassTransit과 함께 localhost에서 작동하는 기본 데모 pub/sub 어플리케이션을 만들었습니다.라운드 로빈 패턴을 비활성화하고 MassTransit에서 팬 아웃 사용
내가 원하는 것은 메시지를 게시하고 모두이고 구독자는 메시지를 받아야합니다.
현재 내 환경에서는 게시자 앱 1 개와 구독자 앱 2 개가 시작됩니다. 그러나 메시지를 게시 할 때 구독자는 차례로 메시지를받습니다.
팬 아웃 교환 유형이 기본값이라고 생각하십니까? 그러나 라운드 로빈 패턴을 적용합니다.
나는
명시 적으로config.ExchangeType = ExchangeType.Fanout;
을 추가하지만, 소비자들은
내 술집/서브 코드 ... 하나 하나 여전히 메시지가 나타납니다
이 게시 :
을var bus = Bus.Factory.CreateUsingRabbitMq(config =>
{
config.Host(new Uri("rabbitmq://localhost/"), h => { });
config.ExchangeType = ExchangeType.Fanout;
});
var busHandle = bus.Start();
bus.Publish<SomethingHappened>(message);
가입자는이 코드를 사용 :
var bus = Bus.Factory.CreateUsingRabbitMq(config =>
{
var host = config.Host(new Uri("rabbitmq://localhost/"), h => { });
config.ReceiveEndpoint(host, "MassTransitExample_Queue", e => e.Consumer<SomethingHappenedConsumer>());
});
var busHandle = bus.Start();
Console.ReadKey();
busHandle.Stop();