rabbitmq

消息中间件MQ

消息队列 MQ (message queue)
消息队列:把传输的数据放在队列中
MQ可以通过消息的收发,使多个系统之间不局限于同步调用,通过异步调用更好的实现解耦,流量削峰等
消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合,可靠投递,广播,流量控制,最终一致性等一系列功能,成为异步rpc的主要手段之一。RPC(远程过程调用)。当今市面上有很多主流的消息中心中间件,如老牌的ActiveMQ。RabbitMQ,Kafka,RocketMQ

消息中间件组成

1 Broker
消息服务器,作为server提供消息核心服务
2 Producer
消息生产者,业务的发起方,负责生产消息传输给broker
3 Consumer
消息消费者,业务的处理方,负责从broker获取消息并进行业务逻辑处理
4 Topic
主题,发布订阅模式下的消息同意汇聚地,不同生产者像topic发送消息,由MQ服务器分发到不同的订阅者,实现消息的广播
5 Queue
队列,PTP(点对点point to point)模式下,特定生产者向特定queue发送消息,消费者订阅特定的queue完成指定消息的接收
6 Message
消息体,根据不同通信协议定义的固定格式进行编码的数据包,来封装业务数据,实现消息的传输

rabbitmq集群

rabbitmq搭建集群

1在集群节点主机hosts文件加入各个节点

2cookie同步
在管理机器集群主节点上将/var/lib/rabbitmq/.erlang.cookie传到其余节点
3rabbitmq重启
在四台机器上分别执行

rabbitmqctl stoprabbitmq-server -detached

4节点加入集群
在各个节点执行

rabbitmqctl stop_app
rabbitmqctl resetrabbitmqctl join_cluster 主节点名称
rabbitmqctl start_app

5管理机器上执行镜像模式

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

6查看集群的状态rabbitmqctl cluster_status
查看rabbitmq集群状态

 rabbitmqctl cluster_status

修改rabbitm集群某一节点的存储方式

rabbitmqctl stop_app 
rabbitmqctl --node rabbit@ACS-MQ-P01 change_cluster_node_type ram/disc
rabbitmqctl start_app

rabbitmq集群剔除节点

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status //可以看到节点已经脱离集群

节点接入集群

rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbitmq-node1
rabbitmqctl start_app

rabbitmq添加用户

 rabbitmqctl add_user mq 123456

增加访问权限

rabbitmqctl set_permissions -p "/" mq ".*" ".*" ".*" 

查看vhost(/)允许哪些用户访问

rabbitmqctl list_permissions -p / 

列出该用户的访问权限;

list_user_permissions <username>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值