高并发系统-消息队列-如何正确使用消息队列

本文探讨了消息队列在分布式系统中的重要性,涉及问题如消息丢失处理、解耦、性能优化等,列举了常用的消息队列工具,并提供了保证消息幂等性和降低延迟的策略。

本文主要讲述在使用消息队列过程中需要注意的问题以及解决方案
消息中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性的系统架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ等

何为消息队列

消息队列是一种在应用程序之间传递消息的通信模式。它是一种异步通信机制,允许发送者将消息放入队列中,而不需要立即将其发送给接收者。接收者可以在合适的时间从队列中提取消息并进行处理。

image.png

消息队列作用

削峰填谷

通过使用消息队列来平衡系统的负载,使系统能够处理峰值期间的大量请求,并在非峰值期间利用空闲时间处理积压的请求。通常应对突发流量冲击,常见的比如在电商场景下的抢购、秒杀等场景

  • 在高负载期间,系统可能会面临大量的请求,超出了系统的处理能力。这可能导致系统性能下降、响应时间延长甚至系统崩溃。通过使用消息队列,可以将请求暂时存储在队列中,而不是立即处理它们。这样,系统能够在自己的处理能力范围内逐渐处理这些请求,避免超出负载极限。

  • 在非峰值期间,系统可能会面临较少的请求,导致系统资源和处理能力未被充分利用。通过消息队列,可以利用系统的空闲时间处理积压的请求。这种填谷的方式可以充分利用资源,并提高系统的处理效率。

异步处理

简化流程,提升性能。比较常见的例子是电商下单后订单状态变更通过发送异步消息来通知其他系统做对应的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值