Azure - 服务节点间通信

Azure - inter service node communication

我有一个独立的应用程序(C# 中的 Nancy 独立托管应用程序),它应该为 service-fabric 打包。该应用程序是一个基于前端的应用程序,并且会有多个实例。每个实例都应该发现它们的其余部分,因为它必须直接与它们的其余部分通信(它们在同一个集群中)。

有没有办法命名这些实例,以便可以通过名称访问它们(使用 DNS 方法 - 这是最好的方法吗?),而不依赖于 Service Fabric API?

(找到服务命名方式,但不知道如何直接访问单个服务实例)

DNS

您可以在使用 DNS 和命名服务发现端点地址后与无状态服务对话。 (DNS service 将 DNS 名称映射到服务名称。)您无法影响要与哪个实例通话。

服务端点发现和监控

您可以做的是 over the Services in the Application to discover them. For instance, by type. Make sure you also monitor changes,端点可能会因为部署、崩溃、资源平衡而移动。

然后每个实例都可以公开一个唯一的辅助端点(例如 http),因此它可以单独定位。

替代服务发现

通过让每个无状态服务实例在(自行开发的)(有状态的)注册服务中注册自己。然后您可以询问此服务哪些实例是已知的。