RabbitMQ实现分布式WebSocket通信
RabbitMQ基本操作: https://blog.csdn.net/Michael_lcf/article/details/124677268
RabbitMQ的5大核心概念: https://blog.csdn.net/Michael_lcf/article/details/126435452
RabbitMQ实现分布式WebSocket通信: https://blog.csdn.net/Michael_lcf/article/details/126403772
1、实现思路
1、WebSocket接收用户或者接口传过来的数据时,统一发送到RabbitMQ。
2、每个服务器监听RabbitMQ数据并获取数据,通过判断数据中persons是否为空来判断是单发还是群发,若persons不为空有用户id,每个服务器对比自己session中是否有这个用户id,若没有则不操作,若有则推送给该用户消息。
链接:
3、使用websocket在线测试 (websocket-test.com)测试工具,可以发送JSON数据来指定发给那个用户,数据格式如下:
{
"persons":["101","201"],
"msg":"你好啊 XXX 啊哈"
}
2、效果截图
2.1 单用户推送消息
2.1 多用户推送消息
2.1 多用户间发送消息
3、代码实现
gitee链接: https://gitee.com/michael_linux/spring-security-study/tree/master/websocket