ibm mq并发访问队列_消息队列之九问九答

本文详细解答了关于IBM MQ的九个关键问题,包括使用消息队列的原因、优缺点、类型比较、高可用保障、幂等性实现、消息可靠传输、顺序性保证、延时及过期处理,以及消息队列中间件设计。通过讨论,揭示了消息队列在解耦、性能优化、系统稳定性等方面的重要性,并提供了具体的技术实现方案。
摘要由CSDN通过智能技术生成

问题1 为什么要用消息队列呀?

答:如下图所示,外呼系统需要将外呼结果发送给业务系统,如果采用rpc的调用方式;4da32285813568e48b79b363a5c5f80f.png则带来的后果, 首先,1、外呼系统与业务系统严重耦合,多个业务系统需要外呼系统传输数据,如果有接口调用的方式,那无论是接入新的业务还是撤掉业务,都需要改动代码;

2、如果业务系统挂掉/访问超时,要保证不能影响其他业务系统;所以:需要利用消息队列解耦,这样做的好处:外呼系统和业务系统解耦,业务系统有需要,消费mq即可 外呼系统也无需关注业务系统的消费情况啦36b9e0727d2b66570cbef76942151b3b.png其次,如果采用rpc调用方式(同步),则总体耗时 = 在外呼系统的耗时 + 在审核系统的耗时 + 在天网的耗时。。总体耗时过长, 使用mq异步化之后,性能优化啦,总耗时 = 外呼系统的耗时 + 发送mq的耗时。

再次,如果不用mq,高峰期的时候,大量请求打入系统,万一系统的处理逻辑涉及到数据库,那么很容易挂掉,高峰期一过,系统压力又大大减小。 所以使用mq削峰,系统慢慢从mq中拉取数据作处理,保证高峰期系统也不会挂掉,虽然有可能堆积消息,但是高峰期一过,请求就会被快速处理掉的。

问题2 消息队列的优点和缺点?

优点:如1所说,可以解耦、低耗时、削峰 缺点:

(1)、系统的可用性降低,mq一旦挂掉,提供者没办法发送消息了,消费者也无法接收到数据了

(2)、系统的复杂性提高,引入了mq,就要考虑消息重复、消息幂等、消息丢失、消息延迟、消息堆积、消息顺序错乱等问题 

(3)、系统的一致性问题,如果消费失败,那么有可能导致提供者与消费者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值