Windows Server 2019环境下已连接socket的高可用负载均衡方案咨询
高可用TCP会话共享方案
以下方案完全适配Windows 2019 Server运行环境,无单点故障,可实现多客户端共享已建立的BE Service持久TCP连接的需求:
- 中间层采用集群化部署消除SPOF:你之前考虑的HAProxy可以直接按2节点冗余模式部署,配合Windows原生NLB(网络负载均衡)或者Keepalived实现虚拟IP漂移,所有客户端统一连接虚IP访问中间层,单台中间层节点故障时虚IP会在秒级内自动切换到存活节点,业务完全无感知。
- 中间层实现会话状态全局同步:在中间层扩展会话状态同步能力,每台节点内存中维护全量的客户端与BE Service的TCP会话映射表,节点间通过专用心跳通道实时同步会话的创建、销毁、绑定关系变更等事件,任意中间层节点收到客户端请求时,都能精准匹配到已建立的持久TCP连接转发流量。
- 路由逻辑完全兼容原有业务体验:因所有业务交互均由客户端主动发起,中间层收到请求后会根据客户端标识+业务会话ID查询对应BE Service socket直接转发,收到响应后原路返回给客户端,整个过程和直接使用持久socket连接的体验完全一致,不需要修改原有客户端和BE Service的业务代码。
针对PIN码验证会话期间会频繁创建关闭socket的场景,中间层会实时监听TCP连接状态变更,更新会话映射表并同步到集群所有节点,不会出现路由到已失效连接的问题。
内容的提问来源于stack exchange,提问作者Dypso
相关产品推荐
相关产品推荐

