1、为什么使用MQ,MQ在项目中的作用?
MQ具有解耦、异步、削峰填谷的功能。在本人项目中主要用于单向报文、交易信息登记的异步操作。
2、RocketMQ由哪些角色组成,它们分别由什么作用?
- NameServer : 作为服务协调组件,类似于zookeeper,具有服务注册,服务发现,服务路由的作用。
- Broker : 负责消息的存储、投递和查询。
- Producer : 负责生产消息。
- Consumer : 负责消费消息。
3、RocketMQ消息被消费后会被立刻删除吗?
不会。每条消息都会持久化到commitLog中,消费者消费消息后只是更新消息的消费进度而已。
4、消息会堆积吗?
消息堆积的原因有3个:
- 生产者生产消息过快
- broker消息堆积(顺序消息阻塞)
- 消费者消费消息过慢
5、RocketMQ什么时候删除过期消息?
默认是72小时后删除文件,可以通过配置文件的filereservetime属性更改这个过期时间。
6、消息消费方式是push还是pull?
push和pull都有,push是通过DefaultMQPushConsumer实现的,pull是通过DefaultMQPullConsumer实现的,但是push的底层还是通过pull实现的。
版权声明:本文为qq_42792950原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。