Azure에서 MassTransit에 문제가 있고 버스에서 MaxConcurrentCalls을 구성하고 있습니다. 한 번에 1 개의 메시지 실행을 요구하는 프로세스가 있지만 버스 구성을 사용하여이를 수행 할 수는 없습니다. 는 버스를 구성하는 동안 예를 들어 나는 내가 내 소비자를 등록한 후Masstransit Azure의 MaxConcurrentCalls 설정이 무시되었습니다.
busConfigurator.MaxConcurrentCalls = 1;
busConfigurator.PrefetchCount = 0;
다음, 나는 즉시 엔드 포인트 3 메시지를 보낼 설정하고, 3 개 소비자 인스턴스를 즉시 생성 및 처리를 시작합니다. Log4Net의 로그 조각입니다.
다른 사람들이이 문제를 경험하고 어떻게 해결했는지, 내가 잘못하고있을 수있는 아이디어가 있는지 궁금합니다. 아래의 로그에서 볼 수 있듯이이 메시지는 각 메시지가 처리되는 데 약 10-15 초가 걸리지 만 즉시 실행되기 시작합니다.
[2017-02-03 16:48:18,410] [DEBUG] [13] [svcbus.Consumers.SellerPageConsumer] [Consume] [] [Loading page https://....... ]
[2017-02-03 16:48:18,410] [DEBUG] [14] [svcbus.Consumers.SellerPageConsumer] [Consume] [] [Loading page https://....... ]
[2017-02-03 16:48:18,420] [DEBUG] [23] [svcbus.Consumers.SellerPageConsumer] [Consume] [] [Loading page https://....... ]
죄송합니다. 하늘을 나는 곳은 없습니다. 위와 같이 busConfigurator.MaxConcurrentCalls = 1과 같은 설정 만합니다. – Bigtoe
그래도 효과가 있었는데, MT 코드를 다운로드하고 동일한 코드를 찾았습니다. 이것이 의도적인지 아닌지 잘 모르겠습니다. 나는 GitHub에서 프로젝트에 문제를 일으키고 그로부터 나오는 것을 보게 될 것이다. – Bigtoe
의도적으로 각 수신 끝점에는 자체 구성이 있습니다. –