Service Fabric TCP 反向代理
Posted
技术标签:
【中文标题】Service Fabric TCP 反向代理【英文标题】:Service Fabric TCP Reverse Proxy 【发布时间】:2017-05-31 15:23:50 【问题描述】:是否可以使用内置的 Service Fabric 反向代理通过 TCP 在节点之间进行平衡?我在服务结构中有一个 TCP 服务器设置,我可以远程登录,但我不能通过端口 19081(反向代理地址)。
【问题讨论】:
【参考方案1】:没有。但是您可以设置 Azure 负载均衡器来执行此操作。 SF 反向代理的缺点是 ALB 不知道服务在节点上的位置,因此这里的用例是让服务在同一端口上的所有节点上可用。
如果 SF Reverse Proxy 服务有像 kube-proxy 这样的 TCP 级别转发,那就太好了。
【讨论】:
【参考方案2】:我想可以编写自己的 TCP 中继服务(例如使用 WcfCommunicationListener
和 NetTCPBinding
)连接到下游服务。 https://github.com/spoorendonk/service-fabric-reverse-proxy 是 HTTP 反向代理的独立实现(最初用于本地开发集群),您可以基于该反向代理的 TCP 变体。
如果您希望您的服务知道下游服务的放置位置(就节点和分区而言),您可以使用Fabric.ServiceManagementClient 并使用RegisterServicePartitionResolutionChangeHandler
方法之一注册通知。每当使用 ServiceNotification
的实例更改服务副本或分区时,这都会通知您。
要回答您的问题,不,但您可以自己构建它。
【讨论】:
以上是关于Service Fabric TCP 反向代理的主要内容,如果未能解决你的问题,请参考以下文章
使用 https 的 Service Fabric 反向代理
API(网关)提供的反向代理和Service Fabric有啥区别?