1、为什么要使用 MQ?
因为项目比较大,做了分布式系统,所有远程服务调用请求都是同步执行经常出问题,所以引入了 MQ,MQ具有异步解耦和削峰填谷的作用
2、RocketMQ 由哪些角色组成,每个角色作用和特点是什么?
生产者(Producer):负责向消息服务器发送生产出来的消息。
消费者(Consumer):负责消费消息。
消息服务器(Broker):存储消息的地方,主要作用是接收来自 Producer 的消息并存储, Consumer 从这里取得消息。
名称服务器 ( NameServer ):注册中心,管理生产者、消费者和Broker。
3、RocketMQ 消费模式有几种?
消费模型由 Consumer 决定,消费维度为 Topic。
集群消费:相同 Consumer Group 的每个 Consumer 实例平均分摊消息
广播消费:相同 Consumer Group 的每个 Consumer 实例都接收全部的消息
4、如何避免消息被重复消费
消息重复的场景
1)发送时消息重复
当生产者成功发送消息到Broker,但是由于网络原因导致生产者没有收到Broker的确认应答,生产者会重发消息
2)消费时消息重复
消息者消费该消息后,未能将消费成功反馈给Broker,会触发重试机制。
答案:做唯一性校验,相同的业务唯一ID的消息只消费一次
标签:面试题,消费,生产者,Broker,消息,Consumer,RocketMQ From: https://www.cnblogs.com/Cienu7u/p/16647196.html