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

  • 模块化
  • 服务化
  • 领域化
Made with Slides.com