聊天消息中心 MCenter 基本概念整理

基本理念

聊天系统里每个实体(用户、群组等)都需要有一个全局唯一的地址,一个合法的地址可以由名称和所在节点组成,格式如 name@node 这种结构。

  • 结点主要用于标识地址所在服务器,可能包含:
    • 用户结点,为每个用户维护一个消息接收队列
    • 群组结点,按群成员,将群信息路由到用户结点
    • 机器人节点,接收机器人信息,执行对应逻辑
    • 第三方结点,执行外部对接等操作
    • 等等其它结点
  • 名称标识该地址在服务器上的具体个体。

安全

为每次登录创建会话对应的 aesKey,将传给外部的地址标识符做 AES 加密后返回,这样可以从杜绝用户遍历地址表导致的乱发消息。

底级接口

面向底层,相互不交叉,便于替换底层,随时进行数据源切换等

  • 用户信息增删改查
  • 群组信息增删改查
  • 历史消息列表增删改查
  • 通讯录增删改查
  • 消息内容的存储,考虑效率及系统容量,相同内容的聊天消息尝试保存一条
  • 商家、群组、第三方、机器人 等结点任务处理
  • 实时消息路由及消息订阅

中级接口

面向业务,相互交差,例如接收或者发送消息同步更新最近联系人,提供给各内部应用的接口层

  • 拉取最近联系人
  • 按结点拉取历史聊天数据
  • 拉群,群转交,群踢人等
  • 发送各种类型的消息
  • 查询修改用户头像昵称备注等信息
  • 消息回执转发

高级接口

在二级接口的基础上添加会话过程,添加原始数据隐藏,直接提供给各种外部接入方

  • 加密所有结点信息
  • 实现聊天 session
  • 通用评论组件
  • 各种快捷回复
  • 机器人组件

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注