当前位置: 首页 > wzjs >正文

东莞品牌网站建设服务网址提交入口

东莞品牌网站建设服务,网址提交入口,苏州高新区网页设计,上海最大的企业问题描述: Mnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data 一、什么是MQ脑裂? 网络分区 如果另一个节点在一段时间内(默认为 60 秒)无法与其联系&#xff0…

问题描述:
Mnesia reports that this RabbitMQ cluster has experienced a network partition. There is a risk of losing data
在这里插入图片描述

一、什么是MQ脑裂?

网络分区
如果另一个节点在一段时间内(默认为 60 秒)无法与其联系,则节点会确定其对等方是否关闭。如果两个节点重新接触,并且都认为另一个节点已关闭,则节点将确定发生了分区。
当网络分区就位时,集群的两个(或更多!)方可以独立发展,双方都认为对方已经崩溃。这种情况被称为裂脑。队列、绑定、交换可以单独创建或删除。

  • 跨分区拆分的经典镜像队列最终将在分区的每一侧都有一个领导者,同样双方独立行动。仲裁队列将在多数方选举一个新的领导者。少数方的仲裁队列副本将不再有进展(即接受新消息、交付给消费者等),所有这些工作都将由新的领导者完成。
  • 除非将分区处理策略(例如pause_minority)配置为使用,否则即使在网络连接恢复后,拆分仍将继续

二、什么原因造成脑裂,怎样查看?

这是由于网络问题导致集群出现了脑裂。

正常情况下,通过rabbitmqctl cluster_status命令查看到的信息中partitions那一项是空的,就像这样:

# rabbitmqctl cluster_status
Cluster status of node rabbit@smacmullen ...
[{nodes,[{disc,[hare@smacmullen,rabbit@smacmullen]}]},
{running_nodes,[rabbit@smacmullen,hare@smacmullen]},
{partitions,[]}]
...done.

然而当网络分区发生时,会变成这样:

# rabbitmqctl cluster_status
Cluster status of node rabbit@smacmullen ...
[{nodes,[{disc,[hare@smacmullen,rabbit@smacmullen]}]},
{running_nodes,[rabbit@smacmullen,hare@smacmullen]},
{partitions,[{rabbit@smacmullen,[hare@smacmullen]},{hare@smacmullen,[rabbit@smacmullen]}]}]
...done.

三、怎么解决MQ脑裂?

原因是rabbitmq集群在配置时未设置出现网络分区处理策略,先要将集群恢复正常,再设置出现网络分区处理策略,步骤如下:

  1. 首先需要挑选一个信任的分区,这个分区才有决定Mnesia内容的权限,发生在其他分区的改变将不被记录到Mnesia中而直接丢弃。

  2. 停止(stop)其他分区的节点,然后启动(start)这些节点,之后重新将这些节点加入到当前信任的分区之中。

    rabbitmqctl stop_app
    rabbitmqctl start_app
    
  3. 最后,你应该重启(restart)信任的分区中所有的节点,以去除告警。你也可以简单的关闭整个集群的节点,然后再启动每一个节点,当然,你要确保你启动的第一个节点在你所信任的分区之中。

    注意:mq集群不能采用kill -9 杀死进程,否则生产者和消费者不能及时识别mq的断连,会影响生产者和消费者正常的业务处理

  4. 设置出现网络分区处理策略,这里设置为autoheal,下面会详细说明其它策略。
    /etc/rabbitmq 下新建 rabbitmq.conf,加入:

    [
    {rabbit,[{tcp_listeners,[5672]},{cluster_partition_handling, autoheal}
    ]}
    ].
    

网络分区处理策略:
有以下3种处理策略:
(1)ignore
默认类型,不处理。
要求你所在的网络环境非常可靠。例如,你的所有 node 都在同一个机架上,通过交换机互联,并且该交换机还是与外界通信的必经之路。

(2)pause_minority
rabbitmq节点感知集群中其他节点down掉时,会判断自己在集群中处于多数派还是少数派,也就是判断与自己形成集群的节点个数在整个集群中的比例是否超过一半。如果是多数派,则正常工作,如果是少数派,则会停止rabbit应用并不断检测直到自己成为多数派的一员后再次启动rabbit应用。
注意:这种处理方式集群通常由奇数个节点组成。在CAP中,优先保证了CP。
注意:pause_minority适用情形有限制,如3个节点集群,每次只down1个时,此模式适用。但如果网络都出问题,3节点会独立形成3个集群。

(3)autoheal
你的网络环境可能是不可靠的。你会更加关心服务的可持续性,而非数据完整性。你可以构建一个包含2个node的集群。
当网络分区恢复后,rabbitmq各分区彼此进行协商,分区中客户端连接数最多的为胜者,其余的全部会进行重启,恢复到同步状态

相关链接:https://www.rabbitmq.com/partitions.html

http://www.dtcms.com/wzjs/189844.html

相关文章:

  • 做外贸网站市场分析seo优化策略
  • 企业黄页网站源码鹤壁网站推广公司
  • 做小程序好还是做微网站好pc优化工具
  • 英文b2b网站系统淘宝关键词搜索工具
  • 有那些专门做职业统计的网站如何发布自己的广告
  • 巴南网站建设百家号seo怎么做
  • 兴义网站建设公司百度竞价推广开户内容
  • 重庆怎么制作网站?青岛seo优化公司
  • 网站上做百度广告赚钱么软文广告经典案例短的
  • 西安招标网杭州seo专员
  • 建设网站深圳免费推广的方式有哪些
  • 网站建设可以用350摸板栾城seo整站排名
  • 网站的做网站公司家庭优化大师
  • 找人一起做素材网站网络营销的缺点及建议
  • 成都网站建设推广在超级seo助手
  • wordpress没有样式表上海seo培训中心
  • 做网站页面对PS切图网上销售平台有哪些
  • 做网站zwnet网络推广有哪些途径
  • 网站建设与设计网站seo关键词设置
  • 如何做网站友情链接成都网络推广哪家好
  • 做商业网站没有注册公司百度快速收录接口
  • 怎么做网站加盟产品网络营销策划方案
  • 做网站都需要学什么语言抓取关键词的软件
  • wordpress怎么用地图搜狗网站seo
  • 嘉兴做网站优化哪家好网络营销推广方案策划书
  • 施工企业会计论文农大南路网络营销推广优化
  • 全国水利建设市场信用信息平台网站微营销软件
  • 宜宾网站建设费用ip域名查询
  • 做网站的工作时间著名的网络营销案例
  • 网站有什么优势制作网页用什么软件