List<Message> messageList
)参数:messageList, 函数接受一个Message的List,用户可以对每条Message设置PartitionKey(optional),指示消息发送到哪个partition,如果不指定,系统会随机指定partition
返回值:空,消息发送的返回结果是通过用户注册的Callback
异常:ProducerNotActiveException, 该异常表明producer还没有初始化完成,较低概率发生,如发生重试下就可
如下是TalosProducer的配置说明:
Name | Description | Default |
---|---|---|
galaxy.talos.service.endpoint | 指定Talos Server的URI,可以配置http和https,相关集群对应的URI请见集群信息 | -- |
TalosProducer内存中可以buffer的总消息数目,如果总数量超过这个配置数就会暂时block接口addUserMessage
,直到剩余数量小于这个数值
Default: 1000000
同galaxy.talos.producer.max.buffered.message.number
,从总体字节数目来限制总buffer的消息字节
Default: 500MB
该配置限制了消息被发送到某个partition之前在client内存中最多被缓存的时间,超过这个时间,就会被发送出去。一方面尽可能的积攒一批batch的消息,另一方面也不让消息堆积太长时间而没有被发送出去
Default: 200ms
Producer每次从Buffer中取出消息发送给单个partition的最大消息条目数
Default: 2000
Producer每次从Buffer中取出消息发送给单个partition的最大字节数
Default: 4MB
该配置用来指定producer内部用以做messageCallback的线程数目,即用户发送消息后执行回调函数的线程数
Default: 16
当用户在Message中不指定partitionKey的时候, TalosProducer中的dispatcher会分配给当前轮询到的partition id,该配置指定轮询partition id的时间间隔
Default: 100ms
Dispatcher轮询partition id的另一个维度,如果上一次push到某个partition的消息数量超过该配置的阈值,partition id轮询到下一个
Default: 1000
消息的压缩类型,可选择的类型有:"NONE", "SNAPPY" 和 "GZIP"
Default: SNAPPY