做websocket实时分布式的通信,比较成熟的解决方案是什么?

项目背景就是要做一个在线聊天系统,分布式的。最大的一个难点就是不同服务器的fd如何实现通信。
我也是刚接入这种项目不久,研究了一段时间后发现,如果不计维护成本,肯定是mq的发布订阅模式去做,但如果小公司,小团队,肯定 没有人力去维护一个mq这么重的消息中间件。

退而求其次,用redis的发布订阅貌似也可以,并且redis也比较容易部署。
除了这两种,还有什么比较好的方法吗?
比如(以下是我自己想的,没看到有人这样做过):
1、使用多台ws服务器交叉通信,fd1->fd2 fd2在server2上,那么就server1-连接上server2 把消息发给server2 ,再由server2发消息给fd2。

还有其它 方法吗?

阅读 2.9k
2 个回答

可以把相关连接信息保存在 Redis 服务器中。实现 Server 集群的管理,跨服务器发送。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进