我有一个独立的应用程序(Cancy中的Nancy独立托管应用程序),它应该为service-fabric打包。该应用程序是一个基于前端的应用程序,将有不止一个实例。每个实例都应该发现其余的实例,因为它必须直接与其余实例进行通信(它们位于同一个集群中)。
有没有办法命名这些实例,以便它们可以通过名称访问(使用DNS方法 - 最好吗?),而不依赖于Service Fabric API?
(我已经找到了服务名称的方式,但我不知道如何直接访问各个服务实例)
答案 0 :(得分:1)
<强> DNS 强>
您可以在使用DNS&amp; amp;发现其端点地址后与无状态服务通信。命名服务。 (DNS service将DNS名称映射到服务名称。)您无法影响与之对话的实例。
服务端点发现&amp;监测强>
您可以通过应用程序中的服务iterate来发现它们。例如,按类型。确保您monitor changes,端点可能因部署,崩溃,资源平衡而移动。
然后,每个实例都可以公开一个唯一的辅助端点(例如http),因此可以单独定位。
服务发现的替代方案
让每个无状态服务实例在(自行开发的)(有状态)注册服务中注册自己。然后,您可以向此服务询问哪些实例已知。