参数约束与建议
Apache RocketMQ 系统中有许多自定义参数和资源名称。建议您根据以下说明设置系统,以避免因某些参数设置不当导致应用程序异常。
参数 | 推荐范围 | 说明 |
---|---|---|
Topic 名称 | 字符建议:a~z A~Z 0~9 (_)(-)(%) 建议长度:1~64 个字符 系统保留字符:Topic 名称不允许使用以下保留字符或带有特殊前缀的字符。 保留字符: TBW102_BenchmarkTest_SELF_TEST_TOPIC_OFFSET_MOVED_EVENT_SCHEDULE_TOPIC_XXXX_RMQ_SYS_TRANS_HALF_TOPIC_RMQ_SYS_TRACE_TOPIC_RMQ_SYS_TRANS_OP_HALF_TOPIC 保留前缀字符: _rmq_sys_%RETRY%_%DLQ%_rocketmq-broker- | Topic 名称应使用简短、常用字符,避免特殊字符。特殊字符可能导致系统解析异常。如果字符过长,消息可能会被拒绝。 |
ConsumerGroup 名称 | 字符建议:a~z A~Z 0~9 (_)(-)(%) 建议长度:1~64 个字符 系统保留字符:ConsumerGroup 名称不允许使用以下保留字符或带有特殊前缀的字符。 保留字符: _DEFAULT_CONSUMER_DEFAULT_PRODUCER_TOOLS_CONSUMER_FILTERSRV_CONSUMER___MONITOR_CONSUMER_CLIENT_INNER_PRODUCER_SELF_TEST_P_GROUP_SELF_TEST_C_GROUP_CID_ONS-HTTP-PROXY_CID_ONSAPI_PERMISSION_CID_ONSAPI_OWNER_CID_ONSAPI_PULL_CID_RMQ_SYS_TRANS_*保留字符*_CID_RMQ_SYS_*CID_HOUSEKEEPING | 空 |
ACL 凭证 | 字符建议:AK(AccessKey ID)、SK(AccessKey Secret)和 Token 仅支持 a~z A~Z 0~9 建议长度:小于 1024 个字符。 | 空 |
请求超时 | 默认值:3000ms。 | 请求超时时长是客户端本地同步调用的等待时间。根据实际应用设置合适的值,以避免长时间的线程阻塞。 |
最大消息大小 | 默认值:4 MB。不涉及消息压缩,仅计算消息体大小。 值范围:建议小于 4 MB。 | 消息传输应进行压缩并控制负载,以避免传输大文件。 |
消息自定义属性 | 字符限制:所有可见字符。 建议长度:所有键和值的总和小于 16KB。 系统保留属性:不允许将以下保留属性用作自定义属性的键。系统保留键 | 空 |
MessageGroup | 字符限制:所有可见字符。 建议长度:1~64. | 通常,messageGroup 设置为需要保证有序的一组消息标识符,例如订单、用户等。 |
最大消息发送重试次数 | 默认值:3 次。 值范围:无限制。 | 发送重试策略对应用程序不可见。建议设置较小的值,以避免阻塞服务线程。如果消息在达到最大重试次数后仍未成功发送,建议服务侧执行回溯以确保消息可靠性。 |
最大消息消费重试次数 | 默认值:16 次。 | 消费重试次数根据实际服务需求设置适当的值,避免无限次消费重试。如果重试次数过多,系统压力会增加。 |
事务异常检查间隔 | 默认值:60 秒。 | 事务异常检查间隔指半事务消息因系统重启或异常情况未提交的间隔。生产者客户端将根据此间隔回查事务状态。不要将间隔设置得太短,否则频繁的回调调用可能会影响系统性能。 |
半事务消息首次回调时间 | 默认值:参考[事务异常检查间隔]* 最大检查次数 | 空 |
半事务消息最大超时时长 | 默认值:4 小时。 | 如果半事务消息因系统重启或异常情况未提交,生产者客户端将根据事务异常检查间隔回查。如果在半事务消息超时时长后仍未返回结果,半事务消息将被强制回滚。 |
PushConsumer sdk 缓存 | 默认值: _ 最大缓存数量:1024 _ 最大缓存大小:64 M。 | 缓存消息的数量和大小应设置为系统内存允许的限制。 |
PushConsumer 重试间隔 | 默认值: _ 并发投递类型:间隔时间阶梯变化。 _ Fifo 投递类型:3000 毫秒。 | 空 |
PushConsumer 消费线程 | 默认值:20 | 空 |
获取消息批次大小 | 默认值:32 | 消费者一次从服务器获取的最大消息数量。建议根据实际服务设置适当的参数值。如果一次获取的消息数量过多,当消费失败时可能会导致大量消息重复。 |
SimpleConsumer 最大不可见时间 | 默认值:此参数为必填项,无默认值。 建议范围:10 秒至 12 小时。 | 消费不可见时间指消息处理和失败后重试的总时间。建议将该值设置得略长于实际时间。 |