RabbitMQ集群&使用说明
集群
- 集群所有机器都安装好erlang和RabbitMQ(安装方式见上一篇)
- Rabbitmq的集群是依附于erlang的集群来工作的,必须保证各节点erlang的cookie是一样的(最好从主节点copy到各个节点上):/var/lib/rabbitmq/.erlang.cookie
- 启动各个节点的RabbitMQ
# 启动服务service rabbitmq-server start
rabbitmqctl start_app
# 把节点添加到集群中(默认磁盘持久化,--ram表示内存)
rabbitmqctl join_cluster --ram rabbit@[hostname]
# 如果要更改节点持久化类型,需要先停再改
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type disc(ram)
这时候在web页面的overview就能看到你集群中所有的节点情况了。
镜像配置
集群并不能保证高可用,假设节点2宕机了,那么节点2上面的queue,exchange和message都会丢失,即使是用磁盘持久化,在宕机这段时间内,该queue,exchange都无法提供服务。
于是,诞生了镜像:把A节点的内容镜像到B节点(相当于备份),当A节点挂掉的时候,B节点顶上。
web页面配置:admin菜单–>右侧的Policies选项–>Add/update a policy
使用说明
以下使用说明对于单一模式、集群模式、镜像模式都适用
- 个人理解:Exchange是路由(负责分发),Queue是队列(先进先出,并存储Message)。一个消息,可以被路由分发到多个队列中(实际场景:产生一个订单,需要通知到多个模块知晓)
- 当没有Queue绑定到Exchange时,往Exchange中写入的消息也不会重新分发到之后绑定的queue上
- 磁盘持久化配置,需要将Queue,Exchange和Message都持久化
以上是 RabbitMQ集群&使用说明 的全部内容, 来源链接: utcz.com/z/512174.html