2017-03-20 4 views
1

Azure Service Fabric 솔루션에서 호스트되는 MT 설치에 대한 작업 구성이 있습니다.MassTransit AzureServiceBus에서 생성 된 큐

메시지를 보내는 API와 메시지를 읽는 상태 비 저장 앱이 있습니다.

container.Register(Classes.FromThisAssembly().BasedOn<IConsumer>()); 
var busControl = Bus.Factory.CreateUsingAzureServiceBus(cfg => 
     { 
      var h = cfg.Host(new Uri("sb://xxxxx.servicebus.windows.net"), host => 
      { 
       host.OperationTimeout = TimeSpan.FromSeconds(5); 

       host.TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "******"); 
      }); 

      cfg.ReceiveEndpoint(h, "fabric-test", ec => 
      { 
       ec.UseMessageScope<ConsumeContext>(); 
       ec.LoadFrom(_container); 
      }); 
     }); 

을 그리고 API에 나는 직물 테스트 큐를 지정하고와 함께 전송 :

var p = await _bus.GetSendEndpoint(new Uri("sb://xxxxx.servicebus.windows.net/fabric-test")); 

await p.Send(new TestMessage(Guid.NewGuid())); 
나는 다음과 유형 TestMessage의 메시지를 사용하도록 지시 비 저장 응용 프로그램 내부

그리고 모든 것이 훌륭합니다.

나는 푸른 포털 내가 3 대기열이 생성 한 주제되었음을 볼 수 있습니다 볼 때 :

  • desktopmmd2jga_stateless1_bus_qypoyyypboqbzhk5bdkg665cyh (큐)
  • desktopmmd2jga_webapi1_bus_qypoyyypboqbsitfbdkg665pdd (큐)
  • 직물 시험 (큐)
  • xxxxx.core.testmessage (주제)

W hile 그것 모두는 나는 이것 모두가 무엇인지 궁금하다?

답변

1

stateless1은 서비스 패브릭 버스 인스턴스이며, 해당 버스에 대해 생성 된 임시 대기열입니다. webapi1은 웹 API 버스 인스턴스로, 상태없는 서비스와 임시 대기열을 전송하는 데 사용됩니다. fabric-test은 수신 엔드 포인트에 대한 서비스 대기열입니다. namespace.core.testmessage은 서비스 엔드 포인트에서 가입 한 메시지 유형입니다.

사용중인 메시지 구조를 지원하기 위해 MassTransit이 제작했습니다. 임시 대기열은 5 분 후에 사라집니다. 걱정할 필요가 없습니다. 단지 ASB와의 연결을 유지 관리하기위한 것입니다.

메시지 유형이 으로 게시되어 서비스 끝점에서받을 수 있도록 항목이 만들어집니다. 특정 서비스 엔드 포인트에 대한 메시지 유형에 대한 주제를 등록하지 않으려면 해당 엔드 포인트의 구성에 SubscribeMessageTopics = false을 지정할 수 있습니다. '

+0

완벽한 감사합니다! 그것은 그것을 완벽하게 설명합니다. – iwayneo