Kafka Scala Producer API

Kafka Scala Producer API

官方example:
https://cwiki.apache.org/confluence/display/KAFKA/0.8.0+Producer+Example

构造Producer

构造一个kafka.javaapi.producer.Producer<K, V>对象,K:分区key类型,V:消息类型

Properties props = new Properties();

props.put("metadata.broker.list", "broker1:9092,broker2:9092");//该配置项必须有,producer通过连接这些broker找到partition的leader,只要是集群中的broker就行,不一定要leader的
props.put("serializer.class", "kafka.serializer.StringEncoder");//序列化,这个类的输入决定了KeyedMessage<K,V>中V的类型,默认为kafka.serializer.DefaultEncoder,即直接传输byte[]
props.put("partitioner.class", "example.producer.myPartitioner");//分区规则,也有默认的,可以自定义
props.put("request.required.acks", "1");//发送消息成功后需要等待kafka的回应

ProducerConfig config = new ProducerConfig(props);

Producer<String, String> producer = new Producer<String, String>(config);

构造消息

构造消息kafka.producer.KeyedMessage<K,V>,K V与上述相同

KeyedMessage<String, String> data = new KeyedMessage<K, V>(String topic, K key, V message);

//若无kay参数,将随机投递至一个分区
KeyedMessage<String, String> data = new KeyedMessage<K, V>(String topic, V message);

发送消息

producer.send(data);

关闭producer

producer.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值