Skip to content

Latest commit

 

History

History
89 lines (54 loc) · 5.01 KB

brokerConfig.md

File metadata and controls

89 lines (54 loc) · 5.01 KB

一、背景

Broker作为RocketMQ的核心,其配置有百项之多,而且好多涉及到性能调优,调整时往往需要根据服务器的状况谨慎调整。

MQCloud作为其运维平台,需要考虑如下事情:

  1. broker配置项繁杂,需要清晰明了的进行管理。
  2. 已存在broker参数调整时,进行提示和建议,另外需要考虑如下情况:
    1. 调整后无需重启broker即可生效。
    2. 调整后需要重启broker才能生效。
  3. 新部署broker时参数继承,这里的继承是指一些优化后的经过线上broker检验的参数,希望新部署broker时自动使用这些参数。

二、broker配置模板

针对上述问题,MQCloud采用如下方式来解决:

  1. broker配置模板组,为了便于区分和管理broker参数,MQCloud对参数进行了分组(这些分组信息可以根据实际情况进行修改):

    序号越小的排序靠前显示。

  2. broker配置模板,可以将broker的默认配置参数加入到这里:

    它有如下两个作用:

    1. 查看broker线上配置时,将会与broker配置模板中的key一一匹配,并分组展示。
    2. 这些配置项可以添加到集群配置模板中,在部署新broker时采用这些配置。

    每一列的含义解释如下:

    • 组:该配置所属的分组,可以修改。
    • key:broker配置key,来自BrokerConfigMessageStoreConfigNettyServerConfigNettyClientConfig
    • value:配置的默认值。
    • 描述:key的含义。
    • 提示:对于如何配置value的一点提示。
    • 动改:是否支持动态修改,这里的动态是指修改后不用重启broker即可生效。
    • 选项:如果该配置的值是几个选项中选择一个,可以在这配置,格式为 value:显示值;value2:显示值2。
    • 序号:序号越小在分组中排序越靠前。
    • 必选:如果该属性是部署broker时必填的,需要设置为必选。
    • 操作:支持修改和删除;后面的复选框用于集群配置模板中,勾选后,可以添加至集群配置模板中。
  3. 集群配置模板,部署新的broker时,采用这些配置。加入集群按钮用于将broker的配置模板中选中的项加入到该集群配置模板中:

    其中线上值是指该集群中的broker采用的特有配置,如果不修改将采用broker的配置模板中的默认值,其余属性与broker的配置模板中的一致。

    注意: MQCloud之前部署broker修改了如下三项:

    useReentrantLockWhenPutMessage=true
    sendMessageThreadPoolNums=48
    waitTimeMillsInSendQueue=500
    

    原因是由于默认写消息使用的spin锁和单线程机制经常导致超时,建议管理员将集群配置模板中的对应的3项结合自己的性能状况修改。

三、broker线上配置

集群管理模块,点击broker的地址,将会弹出broker线上配置:

每一列的含义解释如下:

  • 分组:该配置所属的分组。

  • key:broker配置key,注意: 如果线上值与默认值不一致,key将会加粗显示,鼠标放上去会提示默认值。

  • 线上值:broker线上的值,可以直接修改,如果有对应的提示,鼠标放上去将会显示。

  • 描述:key的含义。

  • 动改:是否支持动态修改,这里的动态是指修改后不用重启broker即可生效。

  • 更新:如果修改了线上值,可以使用更新按钮来更新到线上(注意: 修改不支持动态修改的项需要重启broker, 另外,此操作仅会对当前broker生效;如果部署新的broker时也使用该参数,需要到集群配置模板中进行配置),更新提示如下:

四、部署broker

部署broker的选项均来自于集群配置模板

其中brokerIP1brokerIP2以及storePathRootDirstorePathCommitLog具有自动填充功能,无需设置默认值。