配置RocketMQ客户端
本章节介绍RocketMQ客户端的配置建议。
Java客户端版本
Java客户端版本建议使用5.1.4及以上版本。
避免ClientId相同
客户端的ClientId默认为进程号、本机IP、instanceName进行组合。如果同一个进程内,一个消费组下启动两个消费者,则会导致两者ClientId相同,从而出现有的队列重复消费、有的队列无法消费的情况。
配置建议
consumer.setInstanceName(String.valueOf(System.nanoTime()))
开启生产者异常检测机制
Java客户端5.1.4及以上版本才支持该功能。
建议客户端开启异常检测机制,当客户端连接Broker超时后,能快速剔除超时的Broker,使生产的消息到其他Broker。
producer.setSendLatencyFaultEnable(true)
生产者重试的错误码增加SYSTEM_BUSY
producer.addRetryResponseCode(ResponseCode.SYSTEM_BUSY);
仅4.9.2版本及以上的客户端才支持使用addRetryResponseCode函数。需要注意的是,5.2.1及以上版本的客户端已默认增加SYSTEM_BUSY,无需再额外添加。