2017-03-20 7 views
1

Ich habe eine funktionierende Konfiguration für einen MT-Setup, das in einer Azure Service-Fabric-Lösung gehostet wird.Masstransit AzureServiceBus erzeugte Warteschlangen

Ich habe eine API, die Nachrichten und staatenlos App sendet, die sie liest.

Innerhalb der staatenlos app ich es sagen Nachrichten vom Typ verbrauchen TestMessage mit den folgenden:

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); 
      }); 
     }); 

Und in der API Ich Angabe der Stoff-Test-Warteschlange und das Senden mit:

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

await p.Send(new TestMessage(Guid.NewGuid())); 

Und das alles funktioniert super - jedoch.

Wenn ich mir ein das azur Portal kann ich sehen, dass drei Warteschlangen erstellt wurden, und 1 Thema:

  • desktopmmd2jga_stateless1_bus_qypoyyypboqbzhk5bdkg665cyh (Warteschlange)
  • desktopmmd2jga_webapi1_bus_qypoyyypboqbsitfbdkg665pdd (Warteschlange)
  • Gewebetest (Warteschlange)
  • xxxxx.core.testmessage (Thema)

W hile es alles Arbeit Ich frage mich, was das alles ist?

Antwort

1

stateless1 ist Ihre Service Fabric-Bus-Instanz, die temporäre Warteschlange, die für diesen Bus erstellt wurde. webapi1 ist Ihre Web-API-Bus-Instanz, die zum Senden einer temporären Warteschlange an den zustandslosen Dienst verwendet wird. fabric-test ist Ihre Servicewarteschlange für Ihren Empfangsendpunkt. namespace.core.testmessage ist Ihr Nachrichtentyp, der von Ihrem Dienstendpunkt abonniert wurde.

Dies ist alles von MassTransit gebaut, um die Nachrichtenstruktur zu unterstützen, die Sie verwenden. Die temporären Warteschlangen verschwinden nach 5 Minuten, keine Sorge - sie dienen nur dazu, die Verbindung zu ASB zu adressieren und aufrechtzuerhalten.

Das Thema wird erstellt, wenn eine Nachricht dieses Typs veröffentlicht wird, damit Ihr Dienstendpunkt es empfängt. Wenn Sie keine Themen für Nachrichtentypen für einen bestimmten Serviceendpunkt abonnieren möchten, können Sie SubscribeMessageTopics = false in der Konfiguration für diesen Endpunkt angeben. "

+0

Perfect thank you! Das erklärt es perfekt – iwayneo