Lexus. 2022-07-29 19:12 采纳率: 0%
浏览 42
已结题

webSocket+Netty-SocketIO实现IM方案讨论

发生背景

使用websocket + netty-socketio + MQ实现一个简易在线聊天系统,可以支撑每天10w用户在线聊天。

实现原理

websocket作为主要的信息发送渠道,后端存储socket句柄,MQ作为集群环境下寻找会话两端绑定句柄的媒介,相信用过此思路的朋友应该明白整个架构了,要是不明白呢,请看下面分解

图文并茂

img

1、上图当A给B发消息时,消息里面一定是包含A给B发消息这个信息。问题:程序如何把这个消息发送给B?
分析:A给B发消息,首先这个消息肯定是落在集群1节点,现在我们知道B在集群4节点,那么问题就变成怎么把集群1的消息送到送到集群4节点?

2、MQ的作用,消息广播,所有服务器来接收A的消息,来寻找目标句柄B,找不到就丢弃消息,蠢萌蠢萌的方案就解决了该问题。如下图:

img

3、那么问题就来了,有什么更优的方案,直接找到B所在的集群4节点呢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月6日
    • 修改了问题 7月29日
    • 创建了问题 7月29日

    悬赏问题

    • ¥15 slaris 系统断电后,重新开机后一直自动重启
    • ¥15 51寻迹小车定点寻迹
    • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
    • ¥15 关于vue2中methods使用call修改this指向的问题
    • ¥15 idea自动补全键位冲突
    • ¥15 请教一下写代码,代码好难
    • ¥15 iis10中如何阻止别人网站重定向到我的网站
    • ¥15 滑块验证码移动速度不一致问题
    • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
    • ¥15 麒麟V10桌面版SP1如何配置bonding