分布式消息服务-RocketMQ

生产者

2024-07-02 09:14:45

应用进程、生产组、生产实例的关系

同一进程内,同一生产组不能有相同的实例

实例的创建和销毁

1)使用CTGFactory进行创建Producer实例【强制规范】。

2)Prouder是重量级的实例,每次创建、销毁都会消耗系统资源,建议系统启动的时候创建,系统退出的时候关闭,禁止每次发送消息创建新的实例【强制规范】。

客户端参数建议

1)生产者参数:

常量字段

说明

namesrv

地址必要,例如:192.168.10.10:9876;192.168.10.11:9876

namesrv

用户名必填

namesrv

密码必填

ClusterName

客户端订阅broker的集群名,根据实际情况设置

TenantID

租户ID,根据实际情况设置

生产组名称

生产者必填

VipChannelEnabled

true或者false,默认是true,生产和消费端口分开,如果是false,那就共用一个端口

EnalbeCipher

true或者false,默认是false,客户端字段填明文密码,如果设置为true,字段填md5密文

2)消费者参数:

常量字段

说明

从哪个位置开始消费

建议设置为:

ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET.name()

消费组名称

消费者必要

最大消费线程数

针对push模式,默认64

最小消费线程数

针对push模式,默认20

消费超时时间

1.默认不设或设置<=0:表示不做超时处理,应用自己处理签收

2.设置>0:表示一旦超过此消费超时时间(应用未做签收),客户端将自动签收失败,消息进入重试队列。

namesrv

地址必要,例如:192.168.10.10:9876;192.168.10.11:9876

namesrv

用户名必填

namesrv

密码必填

ClusterName

客户端订阅broker的集群名,默认defaultMQBrokerCluster

TenantID

租户ID,默认defaultMQTenantID


Lr2zArXWRovr