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