【问题标题】:Azure - inter service node communicationAzure - 服务节点间通信
【发布时间】:2018-02-02 10:15:19
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# azure http azure-service-fabric


    【解决方案1】:

    DNS

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

    服务端点发现和监控

    您可以通过应用程序中的服务iterate 来发现它们。例如,按类型。确保你也monitor changes,端点可能会因为部署、崩溃、资源平衡而移动。

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

    服务发现的替代方案

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 2020-05-12
      • 2020-08-05
      • 2020-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多