赞
踩
RabitMQ(消息中间件):
一、使用方法:
1、引入依赖:
2、添加配置:
3、在服务者端注入RabbitTemplate实现消息发送:
4、消费者端添加配置:
5、bean一个Queue对象,交给IOC容器管理:
6、消费者端创建监听类RabbitListener,并交给spring管理:
二、使用MQ的优缺点:
优点:1、异步;2、解耦;3、削峰。(吞吐量提升、故障隔离)
缺点:1、系统可用性降低;2、系统复杂度提高;3、一致性问题。
三、Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别?
追求可用性:Kafka、 RocketMQ 、RabbitMQ
追求可靠性:RabbitMQ、RocketMQ
追求吞吐能力:RocketMQ、Kafka
追求消息低延迟:RabbitMQ、Kafka
四、MQ的基本结构:
RabbitMQ中的一些角色:
五、RabbitMQ的消息模型:
1、普通消息队列;
2、工作消息队列;
3、广播消息队列;
4、路由消息队列;
5、主题消息队列。
六、使用RabbitMQ的场景:
1、服务间异步通信;2、顺序消费;3、定时任务;4、请求削峰。
七、如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费了消息?
1、发送方确认模式:将信道设置成confirm模式(发送方确认模式),则所有在信道上发布的消息都会被指派一个唯一的ID。
2、接收方确认机制:消费者接收每一条消息后都必须进行确认。
八、如何避免消息重复投递或重复消费?
1、在消息生产时,MQ内部针对每条生产者发送的消息生成一个inner-msg-id,作为去重的依据(消息投递失败并重传),避免重复的消息进入队列;
2、在消息消费时,要求消息体中必须要有一个 bizId(对于同一业务全局唯一,如支付ID、订单ID、帖子ID 等)作为去重的依据,避免同一条消息被重复消费。
九、如何保证消息的可靠传输:
希望对大家有帮助,有用的大家可以关注点个赞~~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。