当前位置:   article > 正文

IM即时通讯项目框架分析_im项目

im项目

1 IM即时通讯项目框架分析和部署

1. 即时通讯框架分析和部署
2. 登录服务器和消息服务器设计
3. 路由服务器设计
4. 数据库代理服务器设计
5. 文件服务器和docker部署
6. 性能测试和k8s上云发布

1.1 即时通讯应用场景

即时通讯技术应用非常广泛,涉及教育、电商、金融、泛娱乐、生活服务、医疗健康、
政企服务、游戏聊天、在线客服等等行业,以下以部分典型应用作为简介。
  • 1
  • 2
(一)教育 (二)电商 (三)金融 (四)泛娱乐
  • 1
(五)招聘 (六)医疗健康 (七)政企服务 (八)游戏类产品
  • 1
提供:即时通讯、用户点对点聊天、主播互动、实时弹幕、
实时监控、远程控制、多人互动、位置共享
  • 1
  • 2

1.2 即时通讯提供商

容联
融云
环信 http api
网易云信
QQ通讯
  • 1
  • 2
  • 3
  • 4
  • 5
详细对比:https://blog.csdn.net/weixin_33739646/article/details/
  • 1
每天发信息不过 10000 条
  • 1
大部分场景下自研成本比使用第三方的高
  • 1
自研的优势:可控
  • 1

1.3 即时通讯开源项目

C++: teamtalk
Go:GoBelieve goim
Java:openfire

2.1 即时通讯的基本架构

在这里插入图片描述

客户端与服务器端进行网络通信、收发消息
  • 1
连接层为客户端收发消息提供出入口。主
要的任务:保持海量用户连接;解析协议,
对传输内容进行编码;维护session;推送
消息。
核心业务层负责IM系统各项功能的核心逻
辑实现。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
数据层负责IM系统相关数据的持久化存储,
包括消息内容、账号信息等。
  • 1
  • 2

2.2 IM技术的特点

  1. 实时性 :保证消息实时触达。(轮询与长连接)(消息提示推送,和我们阅读的消
    息是不一样的。)
  2. 可靠性 :保证消息的不丢失和不重复。(ACK 机制)
    TCP 只能保证消息数据链路可靠,不能保证业务可靠。
  3. 一致性 :保证同一条消息在多人、多终端展现顺序的一致性。(消息序号生成器)
  4. 安全性 :保证数据传输安全、数据存储安全、消息内容安全。(HTTPDNS 和TLS)

3 即时通讯分层架构

即时通讯系统常用分层架构
接入层:entry/gate
  • 1
  • 2
逻辑层:logic
数据层ÿ
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/849726
推荐阅读
相关标签
  

闽ICP备14008679号