RabbitMQ(一)

一、什么是RabbitMQ?

是一个开源的遵循AMQP协议实现的基于Erlang语言编写的,支持多种客户端(语言)。
用于分布式系统中存储消息、转发消息,具有高可用,高可扩行,易用性等特点。

二、RabbitMQ安装

RabbitMQ是采用Erlang语言开发的,所以系统环境必须配置Erlang环境

首先安装Erlang
下载链接:https://www.erlang.org/downloads


再安装RabbitMQ-Server
下载连接:https://www.rabbitmq.com/download.html

RabbitMQ和Erlang版本对比链接:https://www.rabbitmq.com/which-erlang.html

安装完成
启动RabbitMQ服务,设置用户分配操作权限。 
本机默认访问:127.0.0.1:15672  (账号密码为:guest)

Docker安装---虚拟化容器技术:把所有的依赖环境一起安装

三、RabbitMQ的角色分类

1.none
-不能访问management plugin

2.management:查看自己相关节点信息
-列出自己可以通过AMQP登入的虚拟机
-查看自己的虚拟机节点virtual hosts的queues,exchanges和bindings信息
-查看和关闭自己的channels和connections
-查看有关自己的虚拟机节点virtual hosts的统计信息,包括其他用户在这个节点的信息

3.Policymaker
-包含management所有权限
-查看和创建和删除自己的virtual hosts所属的policies和parameters信息

4.Monitoring
-包含management所有权限
-罗列出所有的virtual hosts,包括不能登录的virtual hosts
-查看其他用户的connnections和channels信息
-查看节点级别的数据如clustering和memory使用情况 
-查看所有的virtual hosts的全局统计信息

5.Administrator
-最高权限
-可以创建和删除virtual hosts
-可以查看、创建和删除users
-查看创建permissions
-关闭所有用户的connections

四、RabbitMQ核心组合

Server:也是Broker,接受客户端连接,实现AMPQ实体服务,安装rabbitmq-server
Connnection:连接,应用程序与Broker的网络连接TCP/IP三次握手和四次挥手,短链接,耗时
Channel:网络信道,所有操作都在Channel中,Channel是进行消息的读写的通道,每个通道代表一个会话任务
Message:消息,服务与应用程序之间的传递的数据,由Properties和body组成
    Properties:对消息进行修饰,如消息的优先级,延迟等高级特性
    body:消息体的内容
Vitual Host:虚拟地址,用于逻辑隔离,最上层的消息路由,一个虚拟主机里可有多个exchange和Queue,相当于一个数据库
Bindings:Exchange和Queue之间的虚拟连接,可以保护多个routingkey
Routing key:路由规则,相当于一个传递条件
Queue:队列,Message Queue消息队列,保存信息并转发给消费者

五、RabbitMQ支持6种消息的模式

1.简单模式Simple:一个生产者对应一个消费者
2.工作模式Work:特点分发机制
3.发布订阅模式fanout:特点广播机制
4.路由模式direct:特点routing-key的匹配模式
5.主题模式topic:特点模糊的routing-key的匹配模式
6.参数模式headers:特点参数匹配模式

六、RabbitMQ使用场景(解耦、削峰、异步)

posted @ 2021-05-17 22:06  一名初学者  阅读(62)  评论(0)    收藏  举报