LearningKafka学习笔记(四) - 18965050/learning-kafka GitHub Wiki
- 生成者消息API
- 基于Java的Kafka生产者
- 自定义消息分区
- producer会将消息发送到leader broker server,发送方式可在配置文件producer.properties中配置:
- producer.type: 同步还是异步发送
- queue.buffering.max.ms: 生产者缓存消息在自己队列的最大时间, 过了这个时间将会批次发送
- queue.buffering.max.messages:生产者缓存消息在自己队列的最大批次条数, 过了这个条数将会批次发送
- batch.num.messages: 批次最大数量
- kafka.javaapi.producer.Producer
- kafka.producer.KeyedMessage, 成员包括
- topic: 主题
- key: 分区key
- message: 消息
- kafka.producer.ProducerConfig,包括如下配置:
- metadata.broker.list: broker集合列表. 注意域名配置情况下需要配置broker配置文件server.properties的配置项advertised.host.name
- serializer.class:消息序列化编码类
- request.required.acks: 同步方式(异步,同步还是完全同步. 参看下面说明)
- kafka.producer.Partitioner: 分区接口为
- public int partition(Object key, int a_numPartitions). 其中key表示分区key, a_numPartitions表示topic总分区数. 返回对应分区
