千万级流量IM后端系统架构之nginx方式适合docker部署
2024-04-19 08:55:27 1 举报
客户端通过ip:port(外网)经过nginx代理直接(轮询)到netty服务端进行建立连接,主要解决docker部署时每个虚拟机的ip都是内网ip无法暴露到客户端
作者其他创作
大纲/内容
1.1
2.1发起连接
IM服务
1.2、认证
3.2,存储服务与用户信息息
3.2,连接建立成功
4.5、将离线消息保存到redis,客户端上线时需要拉取这些离线消息(抗高并发)
客户端
5.1通知服务端消息接收成功
4.3、单聊消息发送到mq(可靠消息)
4.2netty之间通过http转发消息
网关服务
5.4、更新接收消息状态为已接收
2.1发起连接请求
5.4、删除客户端已接收的离线消息
4.3、netty服务找到接收消息客户端的channel推送消息
4.2,查询对应的目标服务发送消息
4.4、微服务接受消息
5.3、客户端返回接收消息成功响应
认证授权中心
负载均衡
消息队列集群
5.2、客户端返回接收消息成功响应(发送可靠消息)
聊天服务
3.1发送auth认证信息
微服务层
1.3、返回token
MongoDB数据库
缓存集群
4.5、将消息写入数据库(削峰)
2.2 连接通道建立
4.4、微服务接收保存一份离线消息
4.1、发起单聊(携带token及加密消息)
3.2、netty服务验证完token通过后,将客户端连接的channel保存起来
0 条评论
下一页