2017-03-20 14 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つのキューが作成されていることが確認できたポータルと1つのトピックを見て:

  • 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

関連する問題