美文网首页互联网架构
架构与特性:一个完整的IM系统是怎样的?

架构与特性:一个完整的IM系统是怎样的?

作者: 码农架构 | 来源:发表于2020-11-07 23:26 被阅读0次

使用者眼中的聊天系统

如果我们站在一个使用者的角度从直观体验上来看,一个简单的聊天系统大概由以下元素组成:用户账号、账号关系、联系人列表、消息、聊天会话。我在这里画了一个简单的示意图:

image.png

开发者眼中的聊天系统

从一个 IM 系统开发者的角度看,聊天系统大概由这几大部分组成:客户端、接入服务、业务处理服务、存储服务和外部接口服务。

image.png

为什么接入服务和业务处理服务要独立拆分呢?

  • 接入服务作为消息收发的出入口,必须是一个高可用的服务,保持足够的稳定性是一个必要条件。

  • 如果消息收发接入和业务逻辑处理都在一起,势必会让接入模块随着业务逻辑的变更上线,而频繁起停,导致已通过网络接入的客户端连接经常性地断连、重置、重连。

  • 从业务开发人员的角度看,接入服务和业务处理服务进行拆分有助于提升业务开发效率,降低业务开发门槛。

  • 模块拆分后,接入服务负责处理一切网络通信相关的部分,比如网络的稳定性、通信协议的编解码等。这样负责业务开发的同事就可以更加专注于业务逻辑的处理,而不用关心让人头痛的网络问题,也不用关心“天书般的通信协议”了。

IM 系统都有哪些特性?

  • 实时性

  • 可靠性

    • 不丢消息
    • 消息不重复
  • 一致性

    • 同一条消息,在多人、多终端需要保证展现顺序的一致性
    • 消息序号生成器
  • 安全性

    • 数据传输安全
    • 数据存储安全
    • 消息内容安全
公众号:码农架构

相关文章

  • 【iOS】即时消息技术剖析与实战客户端技术点总结

    架构与特性:一个完整的IM系统是怎样的? 即时消息有别于其他业务系统的四大特性:实时性:保证消息实时触达是互动场景...

  • 架构与特性:一个完整的IM系统是怎样的?

    使用者眼中的聊天系统 如果我们站在一个使用者的角度从直观体验上来看,一个简单的聊天系统大概由以下元素组成:用户账号...

  • IM系统架构与特性(分享)

    一讲到IM,我们就会想到微信、QQ这样的即时聊天系统,那么一个聊天系统都有哪些构成要素,一个完整的IM系统又是什么...

  • 消息系统架构学习分享

    文章链接 现代IM系统中的消息系统架构 - 架构篇 现代IM系统中的消息系统架构 - 模型篇 现代IM系统中的消息...

  • Linux(1)

    操作系统:驱动与硬件管理Linux提供了一个完整的操作系统中最底层的硬件控制和资源管理的完整架构 操作系统的内核必...

  • 大型网站系统架构的演化

    前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随...

  • 解读大型网站系统架构的演化

    前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随...

  • 大型网站系统架构的演化

    前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随...

  • Java架构师,必须掌握的几点技术?

    一、前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总...

  • java架构师,必须掌握的几点技术?

    一、前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总...

网友评论

    本文标题:架构与特性:一个完整的IM系统是怎样的?

    本文链接:https://www.haomeiwen.com/subject/dslcbktx.html