0
EasyNetQ 주위에 래퍼를 작성하여 RabbitMQ에 메시지를 게시합니다. 많은 수의 메시지가 게시되어야합니다. IBus를 사용하여 메시지를 게시하는 패턴을 사용해야합니까? 아니면 IBus 유형 var를 클래스 수준 static var로 선언하고 응용 프로그램이 종료 될 때 처리해야합니까?EasyNetQ 메시지 게시자 패턴
using (IBus bus = RabbitHutch.CreateBus(rabbitMQConnectionString))
{
bus.publish("ss");
}
감사
이것은 주로 의견을 바탕으로 한 질문이며 정답이 없으며 문맥에 따라 다릅니다. 정적 버스를 생성할지 또는 그렇지 않은지 인스턴스화할지 여부를 애플리케이션이 선택하게하는 이유는 무엇입니까? –
많은 수의 메시지가 게시되어야합니다. 나는 주로 IBus 인스턴스를 여러 번 생성하고 처리하는 것에 관심이있다. 반면에 정적 클래스 수준 멤버로 IBus 형식 var을 만들면 동시성 문제가 걱정됩니다. 잠금을 적용 할 수는 있지만 성능에 영향을 미칩니다. –
동시성으로 인해 메시지 대기열이 문제가되는 이유는 무엇입니까? 대기열의 메시지는 구독 응용 프로그램에 의해 한 번만 대기열에서 제외됩니다. 버스 인스턴스를 잠그면 응용 프로그램이 동일한 메시지를 여러 번 보내지 않습니다. –