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 中继服务(例如使用 WcfCommunicationListenerNetTCPBinding)连接到下游服务。 https://github.com/spoorendonk/service-fabric-reverse-proxy 是 HTTP 反向代理的独立实现(最初用于本地开发集群),您可以基于该反向代理的 TCP 变体。

如果您希望您的服务知道下游服务的放置位置(就节点和分区而言),您可以使用Fabric.ServiceManagementClient 并使用RegisterServicePartitionResolutionChangeHandler 方法之一注册通知。每当使用 ServiceNotification 的实例更改服务副本或分区时,这都会通知您。

要回答您的问题,不,但您可以自己构建它。

【讨论】:

以上是关于Service Fabric TCP 反向代理的主要内容,如果未能解决你的问题,请参考以下文章

创建 Service Fabric 群集后启用反向代理

使用 https 的 Service Fabric 反向代理

API(网关)提供的反向代理和Service Fabric有啥区别?

Service Fabric 反向代理端口可配置性

如何让 Service Fabric 反向代理在 Azure 上工作

如何为现有的本地集群配置和启用 Azure Service Fabric 反向代理?