IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> rabbitmq 优化配置 -> 正文阅读

[Java知识库]rabbitmq 优化配置

创建高可用规则

ha-promote-on-shutdown: 表示主动停止主节点的服务,其它节点如何替代主节点,选取主节点的行为,是在可用性和可靠性之间做出的权衡的选择;选择参数有:when-synced | always

when-sysnced 表示只有镜像队列消息体同步的情况下,才切换,相反:always是不同步也可以切换。

ha-promote-on-failure: 表示异常情况下其它节点如何替代主节点,比如Crash、断网等,默认参数when-synced.
选择参数有: when-synced | always

ha-promote-on-failure 值设置为always 可以提升不同步的镜像为主镜像(这里针对的是镜像消息体不同步,前提镜像队列是同步的),同时 ha-promote-on-shutdown 不管为always还是when-synced,都会发生提升这个过程。

ha-promote-on-failure 默认值就是when-synced 不提升不同步的镜像为主镜像(这里针对的是镜像消息体不同步,前提镜像队列是同步的),同时 ha-promote-on-shutdown 不管为always还是when-synced,都不会发生提升这个过程。

所以 ha-promote-on-failure 策略优先级高于 ha-promote-on-shutdown。

所以咱们的策略可以写成:(原因是咱能可以容忍一定比例的消息丢失,但不容许队列丢失)。
rabbitmqctl set_policy ha-two “^.*” ‘{“ha-mode”:“exactly”,“ha-params”:2,“ha-sync-mode”:“automatic”,“ha-promote-on-failure”: “always”,“ha-promote-on-shutdown”:“always”}’

因3.6.14没有ha-promote-on-failure参数,可以不设置。

rabbitmqctl set_policy ha-two “^.*” ‘{“ha-mode”:“exactly”,“ha-params”:2,“ha-sync-mode”:“automatic”,“ha-promote-on-shutdown”:“always”}’

总结: rabbitmq 可以使用镜像模式,但没必要all全量镜像,保留两个镜像就行,一个是主另一个是备,有两个好处,一个脑裂因素干扰少,另一个可以减少同步开销。
同时必须配置 “ha-sync-mode”:“automatic”,不然如果主恢复后,还需要人工点击同步步骤。

配置文件的调优

/etc/rabbitmq/rabbitmq.config
{log_levels, [{connection, error}]}, # 只收取logs error 日志
{vm_memory_high_watermark, 0.7}, # 调整内存最大水槽
{vm_memory_high_watermark_paging_ratio, 0.75}, #调整在使用多大内存落盘数据 举个例子: 比如物理内存是32G 迫使消息体落地的方式就是 32G0.70.75= 16.8G 也就是超过16.8G的时候,rabbitmq 被迫内存消息体落地

{cluster_partition_handling, pause_minority} #有三种模式 ignore 网络很可靠,不执行rabbitmqctl stop_app rabbitmqctl start_app 来恢复rabbitmq集群状态,需要人工参与 (适合两个节点的集群)

                                                                           #pause_minority 网络不是很可靠,关闭少数派选举的权利,自动执行恢复的命令rabbitmqctl stop_app rabbitmqctl start_app,避免没必要的脑裂

                                                                           # autoheal: 你的网络非常不可靠,你更关心服务的连续性而不是元数据的完整性。适合有两个节点的集群。

调整文件描述符和socket描述符大小
/etc/docker/daemon.json

{

“default-ulimits”: {
“nofile”: {
“Name”: “nofile”,
“Hard”: 655350,
“Soft”: 655350
}
}
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:14:58  更:2022-03-08 22:16:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:53:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码