网站建设视频上传,网站开发者不给源代码怎么办,做网站去哪里可以找高清的图片,怎样看网站的建设时间消息队列是什么
消息队列#xff1a;Kafka、RocketMQ、RabbitMQ等 腾讯云CMQ消息队列介绍是这么说的#xff1a; 腾讯云消息队列#xff08;Cloud Message Queue#xff0c;以下简称 CMQ#xff09;是分布式的消息队列服务#xff0c;用于存储进程间传输的消息#xff…消息队列是什么
消息队列Kafka、RocketMQ、RabbitMQ等 腾讯云CMQ消息队列介绍是这么说的 腾讯云消息队列Cloud Message Queue以下简称 CMQ是分布式的消息队列服务用于存储进程间传输的消息为分布式部署的不同应用之间或者一个应用的不同组件之间提供基于消息的可靠的异步通信服务。。 干什么 发送端把信息交给接收端但发送端和接收端不同步会导致发送失败。进阶的版本是将信息交给服务器等待服务器响应但是仍然存在弊端例如当网络状况不好时发送端的请求可能会丢失当服务器端处理时间过长可能导致接收端长时间等待以致请求超时而失败等。 队列在发送端和接收端之间起到缓冲作用。发送端发送的信息交给消息队列由消息队列转交给接收端。
优缺点
优点
解耦异步削峰
解耦 我们想象一个场景A想把东西交给B可以直接给,但是这样呢需要两个人必须达到统一否则A到了而B不在家的状况要么等待要么A等待重新发送二者关联性很强但是A将东西交给邮局由邮局交送给B那么A就可以解放自己了。消息队列就充当这个邮局的角色 异步: 上面我们抽象出一个邮局那么假如我们想添加部分功能呢或者将送到邮局的部分再次细化整体的流程变长每个流程都需要时间用户下单的等待时长大大增加这是不利的。但如果我们将其余功能交由消息队列处理时间大幅度降低。 削峰 临近节日邮局打算来一场“八折寄件包装全免”的活动吸引了大批人前来。每条路线承载能力有限面对大量邮件我们通常会选择找个地方存放慢慢处理尽管这样的处理速度相对收到订单立刻分配线路发送慢一些但是可以保证出错崩溃的概率降低。消息队列就类似于一个可以存储信息的临时存放所一条条交给各部分去处理。 缺点
系统可用性降低 增加消息队列本身就是不断添加工具的过程我们将信息都给邮局如果邮局崩溃了关门了那么我们所有依赖消息队列的功能至少在短时间内都会废掉。
复杂性提高: 我们将邮件交给邮局处理邮局负责调用抵扣优惠券功能分配地址等功能我们把地址给邮局的时候自己确保没问题但是邮局在将收货地址交给分配地址功能的时候能一定保证该信息一定正确吗。在这个过程中复杂性逐步提高
数据一致性 消息队列中处理的问题中设计分布式服务分布式服务本身涉及到该问题用户下单了付款了但是如果没有存储积分怎么办怎么保证我们可以将所有的功能封装到一个事务中事物具有原子性一个失败全部失败以此来确保整个流程。
什么时候用(作用) 最根本的就是记住解耦错峰异步 通常大厂使用较多适用于大场景实时性较高的比如淘宝这种