是否可以使用内置的Service Fabric反向代理来平衡TCP上的节点?我在服务结构中有一个TCP服务器设置,我可以远程登录,但我无法通过端口19081(反向代理地址)。
答案 0 :(得分:0)
没有。但您可以设置Azure负载均衡器来执行此操作。 与SF反向代理相反的缺点是ALB不知道节点上的服务放置,因此这里的用例是您在同一端口上的所有节点上提供服务的地方。
如果SF反向代理服务具有像kube-proxy那样的TCP级别转发,那将是很好的。
答案 1 :(得分:0)
我想可以编写自己的TCP中继服务(使用例如WcfCommunicationListener
和NetTCPBinding
)连接到下游服务。 https://github.com/spoorendonk/service-fabric-reverse-proxy是HTTP反向代理(最初用于内部部署开发集群)的独立实现,您可以基于该反向代理的TCP变体。
如果您希望您的服务了解下游服务的位置(就节点和分区而言),您可以使用Fabric.ServiceManagementClient并使用RegisterServicePartitionResolutionChangeHandler
方法注册通知。每当使用ServiceNotification
实例更改服务副本或分区时,都会通知您。
要回答你的问题,不,但你可以自己构建它。