介绍一下消息队列MQ的使用场景
1.通过异步处理提高系统性能
在不适用消息队列 服务器的时候,用户的请求数据直接写入数据库,在高并发的情况下数据库压力剧增,使得响应速度变慢。但是在使用消息队列之后,用户的请求数据发送到消息队列之后立即返回,再由消息队列的消费者进程从消息队列中获得数据,异步写入数据库,由于消息队列服务器处理速度快于数据库(消息队列也比数据库有更好的伸缩性),因此响应速度得到大幅改善。
消息队列具有很好的削峰功能–即通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务。
举例:在电子商务一些秒杀,促销活动中,合理使用消息队列可以有效抵御促销活动刚开始大量订单涌入对系统的冲击。
2.降低系统耦合性
使用消息队列的好处
消息中间件使用场景介绍
消息中间件(ActiveMQ、RabbitMQ、RocketMQ、Kafka)简介及对比
消息中间件的编年史
其他问题
- 引入消息队列之后如何确保高可用性
- 如何保证消息不被重复消费呢
- 如何保证消息的高可靠性传输
- 我该怎么保证从消息队列里拿到的数据按顺序执行
- 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该如何处理?有几百万消息持续积压几小时,说说该如何解决?
- 如果让你来开发一个消息队列中间件,你会怎么设计架构