栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RabbitMq基础概念和常用交换机

RabbitMq基础概念和常用交换机

1.RabbitMq的基础概念
     publisher:生产者,用于生产消息。consumer: 消费者,用于消费消息。exchange:交换机,用于投递消息的。生产者将消息交给交换机,交换机讲消息放到队列。相当于邮局中邮递员。queue:队列,用于存放消息的地方。routIngKey: 路由键,生产者指定对应的路由键,该路由键决定将消息给哪个交换机。BindIng:交换机和队列绑定规则。决定着交换机将消息放到哪个队列中。virtual host: 虚拟主机,表示一批交换机、队列以及相关对象的集合。虚拟主机是共享相同身份认证和加密数据的独立服务器域。每一个vhost就相当于一个独立rabbitMq服务器,拥有自己的交换机、队列、绑定和权限。默认是/.broker: 交换机、绑定、队列 组成的一个消息服务器实体。它相当于是虚拟主机的一个实例对象。channel: 信道,用于传递消息的通道。生产者和消费者生产和消费消息时,都是通过信道传输消息的。参考JavaNIO中信道的概念。connection:网络连接。比如一个tcp长连接。连接很耗时,所以一般生产者生产消息和消费者消费消息时都会保持一个长连接,然后创建多条信道进行传输消息。
2.RabbitMq的工作流程

工作流程:首先,生产者生产消息,将消息发送到指定的(使用routIngKey和交换机名称进行指定)交换机中。其次,交换机将消息发送到指定的(和交换机使用bindIngKey绑定的队列)队列中。最后,消费者监听指定的队列进行消费消息。

消费者监听的队列只要有消息就会进行消费。生产者和消费者发送或者消费消息都会和RabbitMq服务器建立一条长连接。如果消费连接中断,服务器就会监控到,然后把消息进行存储起来。保证消息不丢失。

3.常用交换机

1.direct 精确匹配routIngKey和BindIndKey 点对点

一个交换机和绑定多个相同bindIngKey的队列

2.fanout 不匹配routIngKey和BindIndKey 广播

不需要指定routeKey,给所有该交换机绑定的队列发消息

3.topic 模糊匹配routIngKey和BindIndKey 模式匹配

模式匹配,给匹配的bindIngkey的队列发送指定的消息。“#” : 匹配一个或者多个 “*”:匹配一个

4.消息确认机制

生产者发送消息确认和交换机到队列消息确认

    confirmCallback 确认模式returnCallback 未投递到 queue 退回模式

消费者消费消息手动接收或拒收

    ack机制

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号