所谓的原理,模型就是帮助你理解,或是加深一个印象。
我们先看它内部的消息流传过程
可参考:http://rabbitmq.mr-ping.com/AMQP/AMQP_0-9-1_Model_Explained.html#拒绝消息
消息是发送到交换机,而不是队列
交换机与队列是独立工作的,它们之间存在一种映射关系(路由规则)
一条消息经过交换机,可以复制成多份,最终发送到不同的队列
一个队列可供多个订阅者订阅(并行消费消息)
工作模型:
交换机使用建议
- 对于大多数情况下,使用RabbitMQ自带的 amq.direct 就足够了,不需要自行创建交换机
- direct将也支持将一份消息发送到多个队列(复制),因此fanout并不是必要的
- 为了简化开发及排查过程,建议用消息的类型名称做为 bindingkey
以上是使用rabbitmq基本的一些概念上理解,关于具体封装使用类似链接数据库一般,消息确认,死信队列,链接生命周期,消息持久化,后面再整理
附上查看消息,队列相关内容,可视化界面地址https://blog.csdn.net/suman35/article/details/103011177(安装了rabbitmq成功,就能打开界面,相当于数据库可视化管理界面)