Stateless 和 Stateful 服务之间的可靠服务通信

Reliable Service Communication between Stateless and Stateful service

我想在Stateless 和Stateful 服务之间实现TCP 连接。我想知道实现这个的最佳方法是什么。无状态服务会频繁发送一些数据给有状态服务。有状态服务将处理此数据并将其存储到状态中。我们将有另一个无状态 Web API,它将使用 Get() 方法与此有状态服务对话以获取数据。

下面是我的通话流程。

无状态服务 -> 有状态服务 -> 无状态 Web Api -> Web 应用程序

如果您想直接与服务通信(直接,因为在集群环境中您不会真正这样做服务可能会从一台机器移动到另一台机器并更改 IP),然后该服务可以实现一个或多个侦听器来创建一个端点,以通过您认为最好的任何协议(例如 HTTP)进行访问。然后,您可以使用客户端库与该服务进行通信。有关详细信息,请参阅 https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-communication

或者,您可以间接地在服务之间进行通信。您可以使用 Azure 存储队列或服务总线通过队列进行通信——这在弹性环境中很有用,因为发送方和接收方以不同的速度工作而不会引起太多问题。