IM ARCHITECTURE OPTIMIZATION
TARGET
- 增加系统稳定性
- 提升工程师产能
- 易于维护/拓展
- 解决Erlang黑盒问题
- 合并工程师端多次轮询
微信 CHAT 部分
Swoole
Radis
WX
API
weixin
lenovo
MySQL
Erlang
点选
File Store
API
创建会话
处理会话逻辑
会话逻辑
分发推送
异步处理
ws
Swoole
Radis
WX
API
weixin
lenovo
MySQL
IM
Middleware
点选
File Store
API
创建会话
处理会话逻辑
会话逻辑
异步处理
HTTP
统一的消息服务,可以发送不同类型的数据,只需要一次请求
- 工程师在线信息
- 工程师会话列表
- 个人队列排队
- 大队列排队
- IM 聊天消息
。。。。
{ type: A, data: {} }
{ type: B, data: {} }
{ type: C, data: {} }
{ type: D, data: {} }
{ type: E, data: {} }
Radis Message Queue
API
Engineer
Client
3s
整体架构优化
Swoole
Radis
WX
API
MySQL
Backend
For
Engineer
Client
聊天记录
File Store
Microservices Scope
会话
个人中心
主机
智能推荐
APP CHAT
标签
Backend
For
Unit
BackEnd
Backend
For
CCP
Backend
For
点选
Monitor
(ELK + Sentry)
Log
Log
Client
点选
点评
API
Gateway
Swoole
Radis
WX
API
MySQL
Backend
For
Engineer
Client
聊天记录
File Store
Microservices Scope
会话
个人中心
主机
智能推荐
APP CHAT
标签
Backend
For
Unit
BackEnd
Backend
For
CCP
Backend
For
点选
Monitor
(Sentry)
Loging
(ELK)
Analysis
Client
点选
点评
API
Gateway
Config Server
Service Register
IM
- 模块化
- 服务化
- 领域化
Architecture Optimization
By georgezou
Architecture Optimization
- 1,263