我们的问题:我们有超过30万个在线客户端申请(50 000到一个节点)。因为我们使用负载均衡器我们现在没有(哪个nginx实例)与客户端的活动连接。所以我们需要向所有节点发布pub消息。 我们如何获得线性可扩展性?
当前功能:
现在我们使用:nginx + https://github.com/wandenberg/nginx-push-stream-module + memcached。
客户端在设置彗星频道之前向服务器发送请求:“我还活着,我的公共频道ID ...”。每个10分钟的客户端重新打开管道,但只在服务器上注册一次(这是另一个问题)。
我认为我们可以在nginx(+ redis或memcached)上用Lua编写一些逻辑。并且每个客户端请求在redis中重新打开管道更新信息(+添加有关绑定连接的nginx实例ip的附加信息)。 但是可能存在可扩展性彗星功能的其他变体或实践吗?