美文网首页
RabbitMQ集群高可用性(HA)

RabbitMQ集群高可用性(HA)

作者: 杰森斯坦sen | 来源:发表于2018-04-18 11:26 被阅读0次

    镜像队列

    queues可以配置在集群多个节点上镜像。每个被镜像的queue包含一个master和一个或者多个slave。若原master失效则最旧的slave被提升为新的master。

    ha-mode ha-params 行为
    all 镜像队列将会在整个集群中复制。当一个新的节点加入后,也会在这 个节点上复制一份。
    exactly count 镜像队列将会在集群上复制count份。如果集群数量少于count时候,队列会复制到所有节点上。如果大于Count集群,有一个节点crash后,新进入节点也不会做新的镜像。
    nodes node names 镜像队列会在node name中复制。如果这个名称不是集群中的一个,这不会触发错误。如果在这个node list中没有一个节点在线,那么这个queue会被声明在client连接的节点。

    all policy:

    queue_args("x-ha-policy":"all") //定义字典来设置额外的队列声明参数
    channel.queue_declare(queue="hello-queue",argument=queue_args)
    

    nodes policy:

    queue_args("x-ha-policy":"nodes",
               "x-ha-policy-params":["rabbit@localhost"])
    channel.queue_declare(queue="hello-queue",argument=queue_args)
    

    exactly policy:

    rabbitmqctl set_policy ha-two "^two\." '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
    

    查看镜像队列:

    rabbitmqctl list_queue name slave_pids synchronised_slave_pids
    

    链接:

    https://www.rabbitmq.com/ha.html

    https://docs.openstack.org/ha-guide/shared-messaging.html

    http://blog.flux7.com/blogs/tutorials/how-to-creating-highly-available-message-queues-using-rabbitmq

    相关文章

      网友评论

          本文标题:RabbitMQ集群高可用性(HA)

          本文链接:https://www.haomeiwen.com/subject/htlvkftx.html