Architecture 使用NServicebus将消息从Windows服务可靠地发送到Azure服务结构有状态服务

Architecture 使用NServicebus将消息从Windows服务可靠地发送到Azure服务结构有状态服务,architecture,windows-services,nservicebus,azure-service-fabric,Architecture,Windows Services,Nservicebus,Azure Service Fabric,我有一个Windows服务,它将在我的Azure服务结构之外运行。我需要能够可靠地将消息从windows服务发送到我的有状态服务结构(通过HTTP,因为这将在单独的网络上),最好使用NServicebus。我不确定从哪里开始,我的windows服务上安装了NServicebus。网络极不可靠,因此持久的消息传递是关键。如果您已经在Azure中托管您的service fabric解决方案,我建议您使用Azure service Bus传输和NServiceBus将消息(队列或主题)发送到您的微服务

我有一个Windows服务,它将在我的Azure服务结构之外运行。我需要能够可靠地将消息从windows服务发送到我的有状态服务结构(通过HTTP,因为这将在单独的网络上),最好使用NServicebus。我不确定从哪里开始,我的windows服务上安装了NServicebus。网络极不可靠,因此持久的消息传递是关键。

如果您已经在Azure中托管您的service fabric解决方案,我建议您使用Azure service Bus传输和NServiceBus将消息(队列或主题)发送到您的微服务


将有一些样板代码要在微服务中实现以接收和使用消息,但在引导服务(启动)时可以通过依赖项注入进行管理.

如果您已经在Azure中托管您的service fabric解决方案,我建议您使用Azure service Bus传输和NServiceBus将消息(队列或主题)发送到您的微服务


将有一些样板代码要在微服务中实现以接收和使用消息,但可以在引导服务(启动)时使用依赖项注入进行管理。

如果出于安全/基础设施原因希望通过HTTP进行隧道传输,我建议您看看NServiceBus的网关组件。Is是专门为这些多站点场景构建的。它在不可靠的HTTP(S)连接上只提供一次消息传递。请查看:

  • 在Windows服务器的机箱上使用MSMQ设置NServiceBus端点。它将使用MSMQ的内置存储和转发功能,以避免在该机器上本地丢失消息

  • 在Azure Service Fabric中设置一个或多个NServiceBus终结点。在那里,您可能会使用ASB作为服务到服务通信的传输

  • 使用NServiceBus网关通过HTTP(s)通道在1)和2)之间桥接。如果连接断开,它将自动重试,并执行重复数据消除,以便通过HTTP向您提供一次消息传递


  • 如果出于安全/基础设施方面的原因希望通过HTTP进行隧道传输,我建议您查看NServiceBus的网关组件。Is是专门为这些多站点场景构建的。它在不可靠的HTTP(S)连接上只提供一次消息传递。请查看:

  • 在Windows服务器的机箱上使用MSMQ设置NServiceBus端点。它将使用MSMQ的内置存储和转发功能,以避免在该机器上本地丢失消息

  • 在Azure Service Fabric中设置一个或多个NServiceBus终结点。在那里,您可能会使用ASB作为服务到服务通信的传输

  • 使用NServiceBus网关通过HTTP(s)通道在1)和2)之间桥接。如果连接断开,它将自动重试,并执行重复数据消除,以便通过HTTP向您提供一次消息传递


  • 当然,我计划使用Azure服务总线作为传输。我的设想是,我的数据收集应用程序位于另一个网络上的物理机器上,而我的微服务和报告应用程序位于由ServiceFabric管理的云中。我理解结构中的服务是如何相互通信的,但是azure之外的服务呢?数据收集应用程序必须以某种方式与您的微服务通信。为什么HTTP比ASB更适合这种通信?ASB的代理性质使其能够在不同网络之间正常工作。您可以在SF服务中使用此nuget包来接收代理消息。当然,我计划使用Azure Service Bus作为传输。我的设想是,我的数据收集应用程序位于另一个网络上的物理机器上,而我的微服务和报告应用程序位于由ServiceFabric管理的云中。我理解结构中的服务是如何相互通信的,但是azure之外的服务呢?数据收集应用程序必须以某种方式与您的微服务通信。为什么HTTP比ASB更适合这种通信?ASB的代理性质使其能够在不同网络之间正常工作。您可以在SF服务中使用此nuget包来接收代理消息。