您的位置:首页 > 编程语言 > Java开发

SpringCloud入门之消息总线 springcloud bus

2019-04-01 18:41 411 查看

RabbitMQ

Broker 中间件应用负责接收消息队列的实体
Exchange 消息第一次到达的地方,消息由它指定路由的规则
Queue 消息队列,消息经过转发和路由到达的地方,等待消费的地方
Binding 绑定,将Exchange和Queue绑定,建立虚拟的链接
Routing key 路由关键字,Exchange 根据这关键字进行消息的投递
Virtual host 虚拟主机,对Broker的虚拟划分,将消费者和生产者和他们依赖的AMQP相关结构进行隔离,一般为了安全考虑,为一个Broker设置多个虚拟主机,对不同的用户进行权限分离
Connection 代表生产者、消费者和Broker进行通信的物理网络
Channel 消息通道,用于连接生产者和消费者的逻辑结构,在客户的每个连接里可以建立多个Channel 每个Channel 代表一个会话任务,可以用Channel 隔离同一连接中的不同交互内容
Producer 消息生产者,制造消息发送的程序
Consumer 消息消费者,接收消息处理消息的程序

客户端连接消息队列服务器打开一个Channel
客户端声明一个Exchange,设置相关属性
客户端声明一个Queue,并设置相关属性
客户端使用Routing Key,在Exchange 和 Queue建立绑定关系
客户端投递消息到Exchange
Exchange 根据消息的key 和已经设置好的绑定,将消息投递到一个或者多个Queue中

Exchange 投递:
Direct 交换机:完全根据key 去投递
Topic 交换机:对Key进行模式匹配后进行投递,可以使用# 匹配一个或者多个词,符号*正好匹配一个词
Fanout 交换机: 不需要Key来判断,消息进行直接投递到与该交换机绑定的所有队列中
RabbitMQ 支持消息的持久化,Exchange持久化、Queue 持久化 、 消息持久化 Exchange和Queue之间的对应关系也可以持久化
如果Exchange和Queue 之间有一个是持久化的一个是非持久化的,则他们之间不允许建立绑定

Erlang安装

RabbitMQ安装
RabbitMQ 有五类用户 超级管理员 监控者 策略制定者 普通管理者 其他

超级管理员:可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

(2) 监控者(monitoring)

可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

(3) 策略制定者(policymaker)

可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。

(4) 普通管理者(management)

仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

(5) 其他的

无法登陆管理控制台,通常就是普通的生产者和消费者。

rabbitmqctl.bat list_users 查看已有的用户
rabbitmqctl.bat add_user username password 新增一个用户
给 eric 变成 “超级管理员” 角色:rabbitmqctl.bat set_user_tags username administrator
除了上面的administrator 还有 monitoring、policymaker、management、自定义名称 ,对应上面介绍到的不同的角色。
(它的默认密码是guest),更密码:rabbitmqctl change_password userName newPassword
我就是看guest不爽,可以:
rabbitmqctl.bat delete_user username

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: