为什么要使用消息队列

文章介绍了异步处理能提高系统响应速度,实现并发,以及流量控制如何借助消息中间件保护架构并提升用户体验。服务解耦通过消息队列实现,但可能降低数据一致性并存在数据丢失风险,需要采取补偿措施。
摘要由CSDN通过智能技术生成

一、异步处理

使用异步处理的好处在于:
(1)可以更快的返回结果,或者说,只需要将核心处理步骤处理,就可以暂时认为已经成功处理请求。
(2)减少等待,实现了步骤之间的并发,提升了系统的总性能。

二、流量控制

对于瞬间来的大流量,系统需要在自身能力范围内尽可能多的处理请求,直接拒绝处理不了的请求,但是这样用户体验上不是很好,因为可以使用消息中间件的能力,既保护架构,又能够提升用户体验。

三、服务解耦

如果上下游服务之间通过接口通信,那么每次新增模块或者模块下架,核心模型也需要协助修改,那么线上业务的安全性无法得到保证。因此,可以采用消息队列的形式,上游只是将数据写入消息队列,下游的业务只需要按照所需要的主题进行订阅就可以,每个下有都可以获取一份实时完整的订单数据,而不需要对上游产生影响。

使用消息队列带来的问题

(1)降低了数据的一致性,这时候需要进行分布式事务,人工补偿等手段
(2)存在数据丢失危险,比如说宕机重启,比如说master数据没有同步到slave服务器导致的数据丢失等等

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值