使用Spring Boot整合Netty与Socket.IO集群支持
发布时间
阅读量:
阅读量
1、实现思路
IM系统中每个节点均被赋予一个唯一的标识符A,该标识符由机器码与IM端口号共同构成。
当客户端成功连接至IM节点后,将客户端所携带的用户唯一标识ID与其所连接的IM服务端的唯一标识A进行关联绑定。
当两个用户之间进行消息交互时,首先需判断接收方用户是否处于在线状态。若接收用户在线,则直接获取其对应的socketclient;若无法获取,则依据接收用户的ID查询其所在节点的唯一标识。
随后通过redis的订阅发布机制,将消息转发至接收用户所在的节点。各个节点仅订阅与其自身唯一标识相匹配的topic。
2、代码
pom
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<vers
全部评论 (0)
还没有任何评论哟~
