IM系统实战

IM系统需求分析

  1. 实现功能界面
  2. 实现资源标准化编码
  • 资源信息采集并标准化,转化成content/url
  • 资源编码,终极目标都是拼接一个消息体(json/xml)
  1. 资源标准化
  2. 确保消息体的可扩展性
  3. 接收消息并解析显示
  4. 群聊的特殊需求
  • 基础功能上无区别
  • 1个消息多个参与群聊的终端及时接收到
  • 服务器流量计算
  1. 服务器负载分析
  2. 解决方案

技术难点要点讲解

  1. IM系统一般结构

  2. 我们这个系统实现了的以及重点

  3. 网络结构

    http提供api服务,websocket提供长链接推送服务

  4. 重点难点之websocket怎么用
    流程-A如何发送消息给B

  5. 重点难点之优化单机性能

  • 设计高质量代码优化 Map
    使用读写锁、map不要太大、
  • 突破系统瓶颈优化连接数
    选linux系统而不是windows系统、优化最大文件数
  • 降低对CPU资源的使用
    降低json编码频次,一次编码多次使用
  • 降低对IO资源的使用
    合并写数据库次数、优化数据库读操作、能缓存的就缓存
  • 应用服务/资源服务分离
    系统提供动态服务、文件服务迁移到oss、
posted @ 2022-05-01 09:37  专职  阅读(81)  评论(0编辑  收藏  举报