1.ampq消息协议你是怎么理解的? 2.rabbitmq常见的消息模式有哪些? 3.rabbitmq在项目中你是怎么用的? 4.rabbitmq如何保证消息在投递的过程中不被丢失 5.如何解决消息重复消费的问题(幂等性的问题) 6.如何解决消息堆积的问题?(自己在网上进一步补充完整) 7.什么是死信队列,造成死信队列的原因是什么? 如何处理死信消息? 8.如何实现消息限流?
1.ampq消息协议你是怎么理解的?
AMQP(高级消息队列协议)是一个进程间传递异步消息的网络协议。
AMQP规范中的核心的概念:
- Message
- List item
- Virtual Host
- Exchange
- Queue
- Binding
- Routing Key
- Binding Key
- Exchange Type
- Publisher/Producer
- Subscriber/Consumer
- Connection
- Channel
工作流程:
publisher(发布者)——>Exchange(交换机)——>Queue(队列)——>Consumer(消费者)
(--------------------AMQP实体------------------)
工作过程:
发布者(Publisher)发布消息(Message),经由交换机(Exchange)。
交换机根据路由规则将收到的消息分发给与该交换机绑定的队列(Queue)。
最后 AMQP 代理会将消息投递给订阅了此队列的消费者,或者消费者按照需求自行获取。
2.rabbitmq常见的消息模式有哪些?
1.简单模式:
2.work模式
3.订阅模式
4.路由模式
5