公司制作网站跟企业文化的关系,网站和h5,怎么联系地推公司,wordpress登录页改造Broker 配置参数 获取 Broker 的默认配置 $ sh mqbroker -m Broker 启劢时#xff0c;如何加载配置 ### 第一步生成 Broker 默认配置模版
sh mqbroker -m broker.p
### 第二步修改配置文件, broker.p
### 第三步加载修改过的配置文件
nohup sh mqbroker -c broker.pBrok…Broker 配置参数 获取 Broker 的默认配置 $ sh mqbroker -m Broker 启劢时如何加载配置 ### 第一步生成 Broker 默认配置模版
sh mqbroker -m broker.p
### 第二步修改配置文件, broker.p
### 第三步加载修改过的配置文件
nohup sh mqbroker -c broker.pBroker 运行过程中动态改变 Broker 的配置注意并非所有配置项都支持动态变更 ### 修改地址为 192.168.1.100:10911 的 Broker 消息保存时间为 24 小时
sh mqadmin updateBrokerConfig -b 192.168.1.100:10911 -k fileReservedTime -v 24字段名默认值说明listenPort10911Broker 对外服务的监听端口namesrvAddrnullName Server 地址brokerIP1本机 IP本机 IP 地址默认系统自动识别但是某些多网卡机器会存在识别错误的情况这种情况下可以人工配置brokerName本机主机名brokerClusterNameDefaultClusterBroker 所属哪个集群brokerId1BrokerId必须是大等于 0 的整数0 表示 Master0 表示 Slave一个 Master 可以挂多个 SlaveMaster 与 Slave 通过 BrokerName 来配对autoCreateTopicEnableTRUE是否允许 Broker 自动创建 Topic建议线下开启线上关闭autoCreateSubscriptionGroupTRUE是否允许 Broker 自动创建订阅组建议线下开启线上关闭rejectTransactionMessageFALSE是否拒绝事务消息接入fetchNamesrvAddrByAddressServerFALSE是否从web服务器获取Name Server 地址针对大规模的Broker 集群建议使用这种方式storePathCommitLog$HOME/store/commitlogcommitLog 存储路径storePathConsumeQueue$HOME/store/consumequeue消费队列存储路径storePathIndex$HOME/store/index消息索引存储路径storeCheckpoint$HOME/store/checkpointcheckpoint 文件存储路径abortFile$HOME/store/abortabort 文件存储路径deleteWhen4删除文件时间点默认凌晨 4 点fileReservedTime48文件保留时间默认 48 小时maxTransferBytesOnMessageInMemory262144单次 Pull 消息内存传输的最大字节数maxTransferCountOnMessageInMemory32单次 Pull 消息内存传输的最大条数maxTransferBytesOnMessageInDisk65536单次 Pull 消息磁盘传输的最大字节数maxTransferCountOnMessageInDisk8单次 Pull 消息磁盘传输的 最大条数messageIndexEnableTRUE是否开启消息索引功能messageIndexSafeFALSE是否提供安全的消息索引机制索引保证不丢haMasterAddress在 Slave 上直接设置 Master 地址默认从 Name Server 上自动获取也可以手工强制配置brokerRoleASYNC_MASTERBroker 的角色- ASYNC_MASTER 异步复制Master- SYNC_MASTER 同步双写Master- SLAVEflushDiskTypeASYNC_FLUSH刷盘方式- ASYNC_FLUSH 异步刷盘- SYNC_FLUSH 同步刷盘cleanFileForciblyEnableTRUE磁盘满、且无过期文件情况下TRUE 表示强制删除文件优先保证服务可用FALSE 标记服务不可用文件不删除
Broker 集群搭建 推荐的几种 Broker 集群部署方式这里的 Slave 不可写但可读类似于 Mysql 主备方式
1 单个 Master
这种方式风险较大一旦 Broker 重启或者宕机时会导致整个服务不可用不建议线上环境使用
2 多 Master 模式 一个集群无 Slave全是 Master例如 2 个 Master 戒者 3 个 Master 优点配置简单单个 Master 宕机戒重启维护对应用无影响在磁盘配置为 RAID10 时即使机器宕机不可恢复情况下由于 RAID10 磁盘非常可靠消息也不会丢异步刷盘丢失少量消息同步刷盘一条不丢性能最高 缺点单台机器宕机期间返台机器上未被消费的消息在机器恢复之前不可订阅消息实时性会受到影响 ### 先启劢 Name Server例如机器 IP 为192.168.1.1:9876
nohup sh mqnamesrv
### 在机器 A启劢第一个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-a.properties
### 在机器 B启动第二个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-noslave/broker-b.properties 3 ) 多 Master 多 Slave 模式异步复制
每个 Master 配置一个 Slave有多对 Master-SlaveHA 采用异步复制方式主备有短暂消息延迟毫秒级。优点即使磁盘损坏消息丢失的非常少且消息实时性不会受影响因为 Master 宕机后消费者仍然可以从 Slave 消费此过程对应用透明。不需要人工干预。性能同多 Master 模式几乎一样。缺点Master 宕机磁盘损坏情况会丢失少量消息### 先启动 Name Server例如机器 IP 为192.168.1.1:9876
nohup sh mqnamesrv
### 在机器 A启动第一个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a.properties
### 在机器 B启动第二个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b.properties
### 在机器 C启动第一个 Slave
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-a-s.properties
### 在机器 D启动第二个 Slave
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-async/broker-b-s.properties 4 多 Master 多 Slave 模式同步双写 每个 Master 配置一个 Slave有多对 Master-SlaveHA 采用同步双写方式主备都写成功向应用返回成功 优点数据不服务都无单点Master 宕机情况下消息无延迟服务可用性不数据可用性都非常高 缺点性能比异步复制模式略低大约低 10%左右发送单个消息的 RT 会略高。目前主宕机后备机不能自动切换为主机后续会支持自动切换功能 ### 先启动 Name Server例如机器 IP 为192.168.1.1:9876
nohup sh mqnamesrv
### 在机器 A启动第一个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a.properties
### 在机器 B启动第二个 Master
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b.properties
### 在机器 C启动第一个 Slave
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-a-s.properties
### 在机器 D启动第二个 Slave
nohup sh mqbroker -n 192.168.1.1:9876 -c $ROCKETMQ_HOME/conf/2m-2s-sync/broker-b-s.properties 以上 Broker 与 Slave 配对是通过指定相同的 brokerName 参数来配对Master 的 BrokerId 必须是 0Slave 的 BrokerId 必须是大于 0 的数。另外一个 Master 下面可以挂载多个 Slave同一 Master 下的多个 Slave 通过指定不同的 BrokerId 来区分。 $ROCKETMQ_HOST 指的 RocketMQ 安装目录需要用户自己设置此环境变量。
Broker 重启对客户端的影响 Broker 重启可能会导致正在发往这台机器的的消息发送失败RocketMQ 提供了一种优雅关闭 Broker 的方法通过执行以下命令会清除 Broker 的写权限过 40s 后所有客户端都会更新 Broker 路由信息此时再关闭 Broker 就不会发生发送消息失败的情况因为所有消息都发往了其他 Broker sh mqadmin wipeWritePerm -b brokerName -n namesrvAddr