春招面试复习:消息队列(五)- 消息积压解决方案

1 消息积压问题追溯

系统某部分出现性能问题,来不及处理上游发的消息,导致消息积压。
消息积压是正常现象,积压越来越多就需要处理了。
就像一个水库,日常蓄水是正常的,但下游泄洪能力太差,导致水库水位一直不停的上涨,这个就不正常了。

2 积压的开发警示

防范于未然,平时使用MQ时,如何优化代码才能避免消息积压?
若线上已出现积压,如何处理最好?

3 性能优化

性能的优化主要在生产者和消费者这俩业务逻辑。

MQ自身性能,作为API使用者,无需过于关注。
因大多MQ业务,MQ本身处理能力远大于业务系统。主流MQ的单个节点,消息收发性能可达几w ~ 几十w条消息/s,还可水平扩展Broker实例数倍增处理能力。
而一般业务系统需处理的业务逻辑远比消息队列复杂,单节点每秒可处理几百~几千次请求,已算性能佳。
所以,MQ性能优化,更关注在消息收发两端,业务代码怎么和MQ协作达到最佳性能。

3.1 生产端

此端业务代码处理性能,实际上和MQ关系不大,因都是先执行自己的业务逻辑,最后再发送消息。
若你的代码发送消息的性能上不去,需优先检查,是否为发消息前的业务逻辑耗时太多导致。

对于发消息的业务逻辑,只需注意设置合适并发和同步大小,即可达到很好发送性能。为何?
Producer发消息给Broker,Broker收到消息后返回确认响应,是一次完

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值