IM系统实战
IM系统需求分析
- 实现功能界面
![]()
- 实现资源标准化编码
- 资源信息采集并标准化,转化成content/url
- 资源编码,终极目标都是拼接一个消息体(json/xml)
- 资源标准化
![]()
- 确保消息体的可扩展性
![]()
- 接收消息并解析显示
![]()
- 群聊的特殊需求
- 基础功能上无区别
- 1个消息多个参与群聊的终端及时接收到
- 服务器流量计算
- 服务器负载分析
![]()
- 解决方案
![]()
技术难点要点讲解
-
IM系统一般结构
![]()
-
我们这个系统实现了的以及重点
![]()
-
网络结构
![]()
http提供api服务,websocket提供长链接推送服务 -
重点难点之websocket怎么用
流程-A如何发送消息给B
![]()
-
重点难点之优化单机性能
- 设计高质量代码优化 Map
使用读写锁、map不要太大、 - 突破系统瓶颈优化连接数
选linux系统而不是windows系统、优化最大文件数 - 降低对CPU资源的使用
降低json编码频次,一次编码多次使用 - 降低对IO资源的使用
合并写数据库次数、优化数据库读操作、能缓存的就缓存 - 应用服务/资源服务分离
系统提供动态服务、文件服务迁移到oss、











浙公网安备 33010602011771号