Ich habe einen Windows-Dienst, der außerhalb meines Azure Service Fabric ausgeführt wird. Ich muss in der Lage sein, zuverlässig Nachrichten von dem Windows-Dienst zu meinem Stateful-Service-Fabric zu senden (über HTTP, da dies in einem separaten Netzwerk sein wird), vorzugsweise unter Verwendung von NServicebus. Ich bin mir unsicher, wo ich anfangen soll, ich habe NServicebus auf meinem Windows-Dienst installiert. Das Netzwerk ist äußerst unzuverlässig, daher ist eine dauerhafte Nachrichtenübermittlung entscheidend.Senden Sie zuverlässig eine Nachricht vom Windows-Dienst an den Service State Service von Azure Service Fabric mit NServicebus
Antwort
Wenn Sie bereits Ihre Service Stofflösung in Hosting Azure Ich würde empfehlen, die Sie verwenden Azure Service Bus Transport mit NServiceBus Nachrichten (Warteschlangen oder Themen) auf Ihr Microservice.
Es wird einige Boilerplate-Codes geben, die in den Microservices implementiert werden, um die Nachrichten zu empfangen und zu konsumieren, aber es kann mit Dependency Injection während des Bootstrappings Ihres Dienstes (Startup) verwaltet werden.
Wenn Sie aus Sicherheits-/Infrastrukturgründen durch HTTP (S) tunneln möchten, sollten Sie sich die Gateway-Komponente von NServiceBus ansehen. Is wurde speziell für diese Multi-Site-Szenarien erstellt. Es gibt Ihnen genau eine Nachrichtenübermittlung über eine unzuverlässige HTTP (S) -Verbindung. Check it out: https://docs.particular.net/nservicebus/gateway/
einen NServiceBus Endpunkt mit MSMQ auf dem Feld mit den Windows-Server einrichten. Es verwendet die integrierten Speicher- und Weiterleitungsfunktionen von MSMQ, um Nachrichten lokal auf diesem Computer nicht zu verlieren.
Richten Sie einen oder mehrere NServiceBus-Endpunkte in Azure Service Fabric ein. Dort würden Sie wahrscheinlich ASB als Transport für Service-Kommunikation verwenden.
Verwenden Sie das NServiceBus-Gateway, um zwischen 1) und 2) über einen HTTP (s) -Kanal zu brücken. Es führt automatische Wiederholungen aus, wenn die Verbindung unterbrochen ist, und führt eine Deduplizierung durch, um Ihnen eine genau einmalige Nachrichtenzustellung über HTTP (s) zu ermöglichen.
- 1. Verwenden von NServiceBus mit Azure Service Fabric
- 2. Azure Service Fabric Routing
- 3. Azure-App-Service und Azure Service Fabric
- 4. Azure Service Fabric Nachrichtenwarteschlange
- 5. Azure Service-Fabric Aktivierungsfehler
- 6. Azure Service Fabric Instanzanzahl
- 7. Azure Service-Fabric Mandantenfähigkeit
- 8. Ist es möglich, NServiceBus mit Azure Service Fabric zu verwenden?
- 9. In Azure Service Fabric
- 10. Aufruf einer bestimmten Instanz eines Service in Azure Service Fabric
- 11. Nservicebus Audit Service
- 12. Azure Service Fabric - Actor mit benutzerdefinierten Service löschen
- 13. Akteure in Azure Service Fabric
- 14. Azure Service Fabric: Unprovision Anwendungsversion
- 15. Azure Service Fabric ARM-Vorlage Provisionierung fehlgeschlagen
- 16. Autoskalierung Service Fabric Stateless Service?
- 17. Service Fabric Zuverlässiger Service mit WCF-Kommunikation
- 18. Azure Service Fabric WebAPI mit SignalR
- 19. MassTransit und Service Fabric Stateful Service?
- 20. Service Fabric mit Fenstercontainern
- 21. Erstellen Sie Service-Instanzen mit Parametern in Service Fabric
- 22. Microsoft.SqlServer.Types mit Service Fabric
- 23. Konsistenz mit partitioniertem Service Fabric-Stateful-Service
- 24. Service Fabric SetupEntryPoint
- 25. Service-Fabric mit Basisdienste
- 26. Azure Application Gateway mit Service Fabric
- 27. Azure Service Fabric zuverlässige Dienste Zustand?
- 28. Verbinden mit Service Fabric-Anwendung
- 29. Service Fabric Mindestanforderungen
- 30. Service Fabric Legacy-Einstellungen
Absolut, ich plane die Verwendung von Azure Service Bus als Transport. Mein Szenario ist, dass ich eine Datensammlungsanwendung auf einem physischen Computer in einem anderen Netzwerk habe, während meine Microservices & Reporting-Apps in der von der Dienststruktur verwalteten Cloud sitzen. Ich verstehe, wie die Dienste innerhalb des Gefüges miteinander kommunizieren würden, aber was ist mit einem Dienst außerhalb von azurblau? – adam3039
Die Datenerfassungsanwendung muss irgendwie mit Ihren Microservices kommunizieren. Warum ist HTTP für diese Kommunikation besser als ASB? Die vermittelte Natur von ASB ermöglicht es, zwischen verschiedenen Netzwerken gut zu funktionieren. – janovesk
Sie können dieses nugget-Paket https://www.nuget.org/packages/ServiceFabric.ServiceBus.Services/ innerhalb Ihrer SF-Dienste verwenden, um brokeredMessages zu erhalten. – LoekD