producer配置

简介:

比较核心的配置:metadata.broker.list、request.required.acks、producer.type、serializer.class

消费者获取消息元信息(topics, partitions and replicas)的地址,配置格式是:host1:port1,host2:port2,也可以在外面设置一个vip

metadata.broker.list

消息的确认模式

0:不保证消息的到达确认,只管发送,低延迟但是会出现消息的丢失,在某个server失败的情况下,有点像TCP

1:发送消息,并会等待leader 收到确认后,一定的可靠性

-1:发送消息,等待leader收到确认,并进行复制操作后,才返回,最高的可靠性

request.required.acks =0

消息发送的最长等待时间

request.timeout.ms =10000

socket的缓存大小

send.buffer.bytes=100*1024

key的序列化方式,若是没有设置,同serializer.class

key.serializer.class

分区的策略,默认是取模

partitioner.class=kafka.producer.DefaultPartitioner

消息的压缩模式,默认是none,可以有gzip和snappy

compression.codec = none

可以针对默写特定的topic进行压缩

compressed.topics=null

消息发送失败后的重试次数

message.send.max.retries =3

每次失败后的间隔时间

retry.backoff.ms =100

生产者定时更新topic元信息的时间间隔 ,若是设置为0,那么会在每个消息发送后都去更新数据

topic.metadata.refresh.interval.ms =600*1000

用户随意指定,但是不能重复,主要用于跟踪记录消息

client.id=""

------------------------------------------- 消息模式 相关 -------------------------------------------

生产者的类型 async:异步执行消息的发送 sync:同步执行消息的发送

producer.type=sync

异步模式下,那么就会在设置的时间缓存消息,并一次性发送

queue.buffering.max.ms =5000

异步的模式下 最长等待的消息数

queue.buffering.max.messages =10000

异步模式下,进入队列的等待时间 若是设置为0,那么要么进入队列,要么直接抛弃

queue.enqueue.timeout.ms = -1

异步模式下,每次发送的最大消息数,前提是触发了queue.buffering.max.messages或是queue.buffering.max.ms的限制

batch.num.messages=200

消息体的系列化处理类 ,转化为字节流进行传输

serializer.class= kafka.serializer.DefaultEncoder

目录
相关文章
|
7月前
|
消息中间件 监控 Java
Kafka Producer异步发送消息技巧大揭秘
Kafka Producer异步发送消息技巧大揭秘
529 0
|
消息中间件 存储 算法
聊聊 Kafka: Consumer 源码解析之 Consumer 如何加入 Consumer Group
聊聊 Kafka: Consumer 源码解析之 Consumer 如何加入 Consumer Group
1048 0
|
7月前
|
消息中间件 Kafka
Kafka - 3.x Producer 生产者最佳实践
Kafka - 3.x Producer 生产者最佳实践
157 0
|
消息中间件 缓存 算法
聊聊 Kafka:Producer 源码解析
聊聊 Kafka:Producer 源码解析
246 0
|
消息中间件 运维 负载均衡
Kafka consumer 与 producer测试
Kafka consumer 与 producer测试
|
消息中间件 存储 缓存
初识 Kafka Producer 生产者
初识 Kafka Producer 生产者
初识 Kafka Producer 生产者
|
负载均衡
Producer
Producer
138 0
|
消息中间件 缓存 关系型数据库
Kafka生产者是如何发送消息的?
当有数据要从生产者发往消费者的时候,在kafka底层有这样一套流程。首先生产者调用send方法发送消息后,会先经过一层拦截器,接着进入序列化器。序列化器主要用于对消息的Key和Value进行序列化。接着进入分区器选择消息的分区。
|
消息中间件 Kafka
kafka producer
生产者
1842 0
|
消息中间件 存储 RocketMQ
RocketMQ源码分析——producer发送消息(转)
RocketMQ源码分析 producer发送消息
1107 0