7. RabbitMQ工作模型
broker 相当于mysql服务器,virtual host相当于数据库(可以有多个数据库)
queue相当于表,消息相当于记录。
消息队列有三个核心要素: 消息生产者、消息队列、消息消费者;
生产者(Producer):发送消息的应用;(java程序,也可能是别的语言写的程序)
消费者(Consumer):接收消息的应用;(java程序,也可能是别的语言写的程序)
代理(Broker):就是消息服务器,RabbitMQ Server就是Message Broker;
连接(Connection):连接RabbitMQ服务器的TCP长连接;
信道(Channel):连接中的一个虚拟通道,消息队列发送或者接收消息时,都是通过信道进行的;
虚拟主机(Virtual host):一个虚拟分组,在代码中就是一个字符串,当多个不同的用户使用同一个RabbitMQ服务时,可以划分出多个Virtual host,每个用户在自己的Virtual host创建exchange/queue等;(分类比较清晰、相互隔离)
交换机(Exchange):交换机负责从生产者接收消息,并根据交换机类型分发到对应的消息队列中,起到一个路由的作用;
路由键(Routing Key):交换机根据路由键来决定消息分发到哪个队列,路由键是消息的目的地址;
绑定(Binding):绑定是队列和交换机的一个关联连接(关联关系);
队列(Queue):存储消息的缓存;
消息(Message):由生产者通过RabbitMQ发送给消费者的信息;(消息可以任何数据,字符串、user对象,json串等等)
8. RabbitMQ交换机类型
Exchange(X) 可翻译成交换机/交换器/路由器
8.1 RabbitMQ交换器 (Exchange)类型
| 1、Fanout Exchange(扇形)
2、Direct Exchange(直连)
3、Topic Exchange(主题)
4、Headers Exchange(头部) |
---|
8.2 Fanout Exchange
8.2.1 介绍
Fanout 扇形的,散开的; 扇形交换机
投递到所有绑定的队列,不需要路由键,不需要进行路由键的匹配,相当于广播、群发;
8.2.2 示例
8.3 Direct Exchange
8.3.1 介绍
根据路由键精确匹配(一模一样)进行路由消息队列;文章来源:https://www.toymoban.com/news/detail-426214.html
8.3.2 示例
8.4 Topic Exchange
8.4.1 介绍
通配符匹配,相当于模糊匹配;
#匹配多个单词,用来表示任意数量(零个文章来源地址https://www.toymoban.com/news/detail-426214.html
到了这里,关于RabbitMQ笔记一7-11章RabbitMQ工作模型【动力节点】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!