一、消息传输的可靠性是即时通讯系统的核心
即时通讯怎么做到可靠传输信息

随着科技发展,无论是工作还是生活即时通讯已成为了大家传输信息必不可少的工具。既然要承担传输消息的重任,传输的可靠性自然是**即时通讯**系统中是最为基础、也是最核心的部分之一,同时也是衡量通讯系统的质量的重要指标。那即时通讯系统是怎么传输消息的呢?那下面我们先来了解一即时通讯消息传输的模型吧。

二、即时通讯消息传输模型

常见的即时通讯消息传输的模型,如快递式系统模型和邮件服务模型。

快递式系统模型

什么是快递式系统模型呢?
即时通讯消息传输快递式系统模型

快递式系统模型完全可以用生活中快递运输为例进行理解,把ClientA比作为寄件人,Server比作快递公司,ClientB比作收件人。

快递寄送每一个阶段其实都是相对独立的,比如说寄件人把快递给到快递公司,快递公司运送快递给收件人;如果快递收取、运送、派送等过程出现意外导致丢失,收件人将无法获取到快递,并且这种丢失是无法挽回的。

因此快递式系统模型的消息到达率难以有效保障,容易由中间环节、程序设计等问题导致消息丢失,RTX腾讯通采用的就是这种模型。

邮件服务模型
即时通讯消息传输邮件服务模型

邮件服务是一种历史悠久的通讯系统,这种模型是建立在服务器持久保存数据的基础上。

作为发送方,整个邮件的发送过程是一个完整的事务,只有当服务器收到邮件内容并且保存到磁盘才会告诉发送方发送成功,发送方如果收不到成功的结果,就会在邮件客户端给予提醒,让用户选择重新进行发送;

作为接收方,邮件客户端会定期检查新邮件,将服务器的数据同步到到本地,标记出哪些是新邮件之后,向用户弹出新邮件提醒。

这种模式的优点在于,模型简单清晰,发送方和接收方各司其职,发送和接收的可靠性得以充分保障。

简单来说,从以下几个方面去保障消息可靠性:

1.消息服务器漫游。消息是存储在服务器上的,消息接收方是可以二次获取的,比如说更换了设备登录,也是能正常地拉取和看到之前的聊天记录;
即时通消息服务器漫游

2.客户端发送保障机制。发送方向服务器发送新消息时,当客户端调用接口失败或超时会采用多次重试机制,只有消息落地成功,服务器才会回复发送方,消息发送成功,即使是发送失败,客户端也是有明确的提示;

3.Simple Push 模型与RESTFUL API结合服务。TCP长连接通道只负责极少量的数据通信(登录、事件通知),主要业务数据通过RESTFUL API(https连接,支持复用)。对于移动网络或不稳定的网络环境,轻量级的TCP通讯和短连接方式能够规避大部分的链路不可靠问题;

4.微服务模式设计。将业务相对独立的拆分为多个服务,可以分机部署,这种模式能够有效地实现故障隔离,提升整体服务的可靠性和可用性;即时通讯开发

5.消息通知保障机制。当会话中有新消息产生,服务器通给接收方实时下发新消息通知,客户端接收到通知后,再从服务器拉取消息内容。服务器下发通知需要客户端确认,如果在无确认时,服务器会进行多次间断式重发通知;
即时通消息通知保障机制

6.客户端获取消息保障机制。客户端收到新消息通知时,获取消息时会自动补全完整的消息记录。在网络发生波动时,客户端会重新建立连接并立即拉取所有的未读会话;而且会自动校验该会话是存在消息空洞,如果存在,一同向服务器拉取补全。

即时通讯怎么做到安全可靠的传输信息相关推荐

  1. 谁在为网易云音乐2亿用户的即时通讯保驾护航?

    继2015年7月用户数破亿后,网易云音乐的发展与口碑一直让业界瞩目.近日,网易云音乐更是在北京的发布会上对外宣布用户数突破2亿,同比增长超过100%. 网易云音乐副总裁丁博透露,目前网易云音乐曲库收录 ...

  2. 技术分析| 即时通讯和实时通讯的区别

    即时通讯(IM)和实时通讯是一套网络通讯系统,其本质都是对信息进行转发.最大的不同点是对信息传递的时间规定.二者的区别可以从以下几个方面: 一.场景 常见的即时通讯 场景包括文字聊天.语音消息发送.文 ...

  3. 即时通讯,1 天快速集成 支持单群聊、聊天室、系统通知等通信能力,安全可靠、 全球互通

    即时通讯,1 天快速集成 支持单群聊.聊天室.系统通知等通信能力,安全可靠. 全球互通.## 标题 Android RongIM.init(this, 'AppKey', false); RongIM ...

  4. WorkPlus即时通讯软件,专注于企业信息安全可靠的企业IM

    随着时代的进步,即时通讯技术已经逐渐被更多企业所接受,但在市场中,有些人打着"免费"旗号,却在进行违规操作.很多企业在采购即时通讯工具时都会选择价格便宜的,但这些即时聊天工具往往存 ...

  5. 即时通讯软件,专注于企业信息安全可靠的企业IM

    随着时代的进步,即时通讯技术已经逐渐被更多企业所接受,但在市场中,有些人打着"免费"旗号,却在进行违规操作.很多企业在采购即时通讯工具时都会选择价格便宜的,但这些即时聊天工具往往存 ...

  6. OpenIM:如何打造安全可靠的即时通讯服务

    即时通讯作为移动应用的常用组件,开发起来却并不简单,除了需要研究通讯协议,保证安全性,还要应对复杂的移动网络情况,以提供高可用性的服务.OpenIM是阿里巴巴推出的,集成于阿里百川项目中的移动端 IM ...

  7. im即时通讯源码_IM消息ID技术专题(六):深度解密滴滴的高性能ID生成器(Tinyid)

    1.引言 在中大型IM系统中,聊天消息的唯一ID生成策略是个很重要的技术点.不夸张的说,聊天消息ID贯穿了整个聊天生命周期的几乎每一个算法.逻辑和过程,ID生成策略的好坏有可能直接决定系统在某些技术点 ...

  8. java SSM 框架 多数据源 代码生成器 websocket即时通讯 shiro redis 后台框架源码

    A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生 ...

  9. 即时通讯:XMPP基础

    即时通讯系列阅读 即时通讯基础 即时通讯:XMPP基础 即时通讯:XMPP项目实践-微聊 Smack类库最好的学习资料 1. XMPP 简介 XMPP(Extensible Messaging and ...

最新文章

  1. Want to archive tables? Use Percona Toolkit’s pt-archiver--转载
  2. 心电图计算心率公式_心电图到底能反应啥问题,看过之后你也能当“医生”
  3. 485转换器产品功能特点及技术参数介绍
  4. 华为P40系列发布!新机皇临世,售价首次过万!
  5. 横向扩展 纵向扩展 数据库_扩展数据库–减少扩展的艺术
  6. ctfmon.exe开机无法自己主动启动
  7. 利用简单的磁盘映射,Samba帮助网站与关关采集器分离,实现杰奇小说远程采集,弊端很多,不建议使用,建议直接利用桌面安装
  8. 语音识别行业技术和市场横向对比
  9. 【数据结构】EOJ 1006. 线性链表的插入与删除
  10. 寒气笼罩中的一线暖冬
  11. Android启动优化
  12. 【linux】查看环境变量|getenv setenv设置获取环境变量
  13. Rsync 备份服务:基本概述、应用场景、传输模式、注意事项、密码解决方案、服务实践、备份案例、结合inotify
  14. Xcode自动打包和上传蒲公英平台脚本(用python实现)
  15. 求2!+4!+6!+ …… +2n!的和
  16. python怎么算一元二次方程_Python求一元二次方程解
  17. HTML实现九九乘法表
  18. 2022/1/17 位运算
  19. spark 提交jar包到集群运行报异常 java.net.UnknownHostException: mycluster
  20. AJAX技术学习总结

热门文章

  1. localStorage.setItem()使用
  2. 日常记录(关于sessionStorage.setItem)
  3. GitHub 搜索技巧
  4. pythonDjango后端笔记
  5. 台式电脑硬盘坏了怎么办?硬盘数据怎么恢复回来
  6. netcat tldr
  7. 仿知乎日报android
  8. Latex/CTex/WinEdt 引用*.bib文件中的参考文献
  9. 计算机一级考试考网络什么,全国计算机等级考试一级考什么
  10. 一次性密码HOTP/TOTP