参考视频学习: 08-RabbitMQ-权限分配_哔哩哔哩_bilibili
第一章 了解消息队列
1.1、什么是消息队列
消息队列是一种应用间的通信方式,特点是先进先出,一种异步协作的机制,发送者只管发,接收者只管接,两者不用管对方。经常用于业务的解耦情况,其他常见场景也包括最终一致性、广播、错峰流控等。
1.2、 RabbitMq的特点
1、可靠性(持久化、传输确认、发布确认)
2、灵活的路由
消息进入队列之前,通过Exchange来路由消息。
3、消息集群
多个rabbitmq服务器可以组成一个集群,形成一个逻辑Broker。
4、高可用
因为可以集群,队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用
5、多种协议
如STOMP、MQTT等
6、管理界面
提供了一个可用的用户界面,用户可以监控和管理消息Broker的更多方面
7、跟踪机制
如果有消息异常,跟踪机制可以使使用者找出发生了什么
第二章 RabbitMq安装
2.1、RabbitMq安装
参考
2.2、RabbitMq使用
登录后页面显示如下,之后主要使用的是Exchanges(转换)和Queues and Streams(队列)
其次,在Admin中可以添加更多使用人员,可以配置使用权限
当该用户是最高权限,可以任意读写时,可以用正则去配置
2.3、vhost管理
vhost时一个命名空间,可以限制消息的存放位置,利用这个命名空间可以进行权限的控制,类似windows的文件夹
创建方式:
方式一:
1、添加vhost: rabbitmqctl add vhost {name}
例如:rabbitmqctl add vhost bjpowernode
2、删除vhost: rabbitmqctl delete vhost {name}
例如:rabbitmqctl delete vhost bjpowernode
方式二:
然后可以在users中配置相关权限
第三章 RabbitMq消息发送和接收
3.1、RabbitMq消息发送和接收机制
消费者(consumer):订阅莫格队列。生产者(producer):创建消息,然后发布到队列(queue)中,最后将消息发送到监听的消费者。(先进先出,后进后出)
生产者:一个向交换机发布消息的客户端应用程序。(生产者发出的消息通过交换机放到队列中之后,生产者的操作就完成了,就可以立即返回。)
交换机:用来接收生产者发送的消息并将这些消息路由给服务器中的队列。
Binding:队列和交换机之间的关联
queue:队列,是先进先出,后进后出规则。(不同于栈,栈的规则是,先进后出,后进先出)
Broker:消息队列服务器实体,主进程。
消费者:通过通道藏消息队列中获取消息。