首页 > 其他分享 >即时通讯为什么这么难?

即时通讯为什么这么难?

时间:2023-04-12 20:13:34浏览次数:35  
标签:为什么 这么 是否 系统 用户 即时通讯 添加 好友

即时通讯为什么难?

1.推送式系统口

与常见的请求响应式的系统不同,例如搜索系统,系统,b系统,这些都属于请求响应式系统。 推送式系统最大的特点就是,你不需要去主动请求就可以接收到响应结果,从而触发一些业务操作。

2.逻辑复杂性难点口

举个简单的添加好友流程: 。用户A添加用户B为好友,并且添加到分组G 。判断A是否存在 。判断B是否存在 。判断分组G是否存在 。拉取A的好友列表,判断B是否存在A的好友列表中 。判断A的好友是否达到上限 。判断A是否将B拉黑 。判断B是否将A拉黑 。检查用户A是否频繁添加其他人为好友 。检查用户A添加好友描述是否涉黄,敏感词 。拉取用户B的添加好友策路,查看是否允许添加好友 。再根据B的添加好友策路走不通的添加流程,如开启好友验证,则走好友申请流程,如按身份添加则走身份判断流 程.…

账号,群组,消息等服务的复杂度并不低于好友服务口

3.消息可达性→口

既消息的可靠传输,其实这个问题不光是即时通讯的难点,所有的分布式系统可能都有这个难点,只是这一点在即时通 讯的场景中尤为突出与重要,如果一个聊天软件,频繁丢消息还有用户会使用吗? 分布式领域有一个非常重要的定理,内容是:任何端到端的消息传递协议,不可能做到既不丢失也不重复。那么是不是 即时通讯系统就被判了死刑了呢?并不是,我们在设计即时通讯架构系统的时候需要做一定的折中取舍。后面会详细介 绍。

4.状态同步

5.海量数据存储

系统中存在的用户数据,用户与用户之间的好友数据,用户与用户的群组数据,群组中的群成员数据.… 如果一个日活10小w的即时通讯应用,那么每天群聊,单聊所产生的聊天消息会有多少条呢?

6.即时&&通讯

即时:顾名思义要快,当一条消息发送出去之后,要让用户非常快的收到消息,那么多久算快呢?快递送货两三天才能到,下裁文件几个小时我们都能等,为什么一条消息延迟几秒钟,就会让人感觉体验很差?因为凡是都需要一个预期,快递我们提前能够知道就是需要两三天时间,下载文件,我们也能够有预期有个进度条在。那么即时通讯需要有多快才 能称得上即时?A输入完文字秒级以内可以发送给B,不影响双方的聊天,这是我们衡量是否即时的标准,所以要做到即时一定是毫秒级别为单位的。

通讯:双方按照既定的协议进行信息的传递。

什么是协议呢?双方共同遵守的一个东西叫协议。如:离婚协议,夫妻双方就婚烟的终止达成的一个约定。如停战协 议,战事双方就战争停止达成一定的协议。 什么事信息?信息是可以传播的内容。比如A跟B说,”你好”,那么这个“你好”是信息。 而即时通讯是什么?是双方按照共同遵守的协议进行快速传递信息的技术。

 

标签:为什么,这么,是否,系统,用户,即时通讯,添加,好友
From: https://www.cnblogs.com/mycity/p/nan.html

相关文章

  • 为什么计算机对浮点型数字计算存在误差
    为什么计算机对浮点型数字计算存在误差?我们输入的十进制小数在计算机中都是以二进制进行存储。比如:我们把0.25转换为二进制0.25*2=0.5取00.50*2=1.0取1所以十进制0.25的二进制应当为0.01但是我们把0.3转换为二进制存储0.3*2=0.6取00.6*2=1.2取......
  • 如何对宏进行数字签名,为什么它很重要
    宏是现代计算机用户可用的最强大的工具之一,但它们也带有独特的风险。了解如何以数字方式对宏进行签名,对于确保可以安全可靠地使用宏非常重要。数字签名可确保宏代码来自可信来源,并且自创建以来未被修改过。在本指南中,我们将解释如何对宏进行数字签名,以及为什么对于经常使用宏的人......
  • 政企办公数字化转型为什么需要统一工作门户?
    政府部门和企业在数字化转型后,内部都会使用多套不同的信息系统和应用,这些系统和应用相互之间都存在信息孤岛和数据孤岛的问题,政企内部人员在使用的时候不仅需要来回切换登录使用,还很容易出现信息遗漏和处理不及时的情况,不仅阻碍了办公效率的提升,也阻碍了政企数字化转型的步伐。基......
  • Nginx 通过 Cookie 做灰度就这么简单
    由于业务需要,要做灰度发布测试,刚开始考虑通过IP来做判断,分发不同的后端,但是由于IP不好确定,有的客户端IP不固定,所以考虑用cookie来做逻辑很简单,如下图:  在nginx做这个很简单,两个方法,map或if首先看map怎么做为了模拟环境,我又不想多开服务器,所以起了个http......
  • 为什么 APISIX Ingress 是比 Emissary-ingress 更好的选择?
    本文从可扩展性和服务发现集成等多个维度对比了APISIXIngress与Emissary-ingress的性能。作者:容鑫,API7.ai云原生技术工程师,ApacheAPISIXCommitter。原文链接背景KubernetesIngress是一种API对象,用于定义集群外部流量如何路由到集群内部服务的规则。IngressCont......
  • mysql 2023-04-09 23:59:59 999 为什么会展示为第二天
    在MySQL中,日期时间类型包括DATE、TIME、DATETIME、TIMESTAMP等。其中,DATETIME和TIMESTAMP类型可以表示具体的日期和时间,包含年、月、日、时、分、秒等信息。当使用DATETIME或TIMESTAMP存储日期时间值时,如果精度达到了秒级别以上,MySQL会进行四舍五入,将精度保留到秒级别......
  • 国产即时通讯软件如何选型?
    多年来,国内计算机底层标准、架构、生态等大多由国外IT巨头制定,一直以来来自国际的威胁国内信息安全的事件不断发生。基于这些问题,国内逐渐建立起基于自己的计算机底层架构和标准,形成自主可控的开放生态,但不少单位在采用国产计算机后,原先所使用的即时通讯软件没有做兼容支持,无法继......
  • 国产即时通讯软件如何选型?
    多年来,国内计算机底层标准、架构、生态等大多由国外IT巨头制定,一直以来来自国际的威胁国内信息安全的事件不断发生。基于这些问题,国内逐渐建立起基于自己的计算机底层架构和标准,形成自主可控的开放生态,但不少单位在采用国产计算机后,原先所使用的即时通讯软件没有做兼容支持,无法继续......
  • 为什么要选择四五月安装电地暖?
    年前不少网友向小编说找了公司装地暖,结果排队排到了今年四、五月份,想想非常寒冷的时候都差不多已经结束了,这暖气究竟还要不要装?面对这样延期的问题,小编其实想说暖气肯定是要装的,合适是四月、五月份装,为什么啦?且听小编为大家细细说来:一,四月、五月优惠多大多数人们选择......
  • SpringBoot整合RocketMQ,老鸟们都是这么玩的!
    今天我们来讨论如何在项目开发中优雅地使用RocketMQ。本文分为三部分,第一部分实现SpringBoot与RocketMQ的整合,第二部分解决在使用RocketMQ过程中可能遇到的一些问题并解决他们,第三部分介绍如何封装RocketMQ以便更好地使用。1.SpringBoot整合RocketMQ在SpringBoot中集成RocketMQ......