java实现Kafka生产者示例
使用java实现Kafka的生产者
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
package com.lisg.kafkatest;import java.util.Properties;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.producer.Partitioner;import kafka.producer.ProducerConfig;import kafka.serializer.StringEncoder;/** * Kafka生产者 * @author lisg * */public class KafkaProducer { public static void main(String[] args) { Properties props = new Properties(); //根据这个配置获取metadata,不必是kafka集群上的所有broker,但最好至少有两个 props.put("metadata.broker.list", "vm1:9092,vm2:9092"); //消息传递到broker时的序列化方式 props.put("serializer.class", StringEncoder.class.getName()); //zk集群 props.put("zookeeper.connect", "vm1:2181"); //是否获取反馈 //0是不获取反馈(消息有可能传输失败) //1是获取消息传递给leader后反馈(其他副本有可能接受消息失败) //-1是所有in-sync replicas接受到消息时的反馈 props.put("request.required.acks", "1");// props.put("partitioner.class", MyPartition.class.getName()); //创建Kafka的生产者, key是消息的key的类型, value是消息的类型 Producer<Integer, String> producer = new Producer<Integer, String>( new ProducerConfig(props)); int count = 0; while(true) { String message = "message-" + ++count; //消息主题是test KeyedMessage<Integer, String> keyedMessage = new KeyedMessage<Integer, String>("test", message); //message可以带key, 根据key来将消息分配到指定区, 如果没有key则随机分配到某个区// KeyedMessage<Integer, String> keyedMessage = new KeyedMessage<Integer, String>("test", 1, message); producer.send(keyedMessage); System.out.println("send: " + message); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } // producer.close(); } }/** * 自定义分区类 * */class MyPartition implements Partitioner { public int partition(Object key, int numPartitions) { return key.hashCode()%numPartitions; } } |
附件列表
java实现Kafka生产者示例的更多相关文章
- kafka集群搭建和使用Java写kafka生产者消费者
1 kafka集群搭建 1.zookeeper集群 搭建在110, 111,112 2.kafka使用3个节点110, 111,112 修改配置文件config/server.properties ...
- JAVA封装消息中间件调用一(kafka生产者篇)
这段时间因为工作关系一直在忙于消息中间件的发开,现在趁着项目收尾阶段分享下对kafka的一些使用心得. kafka的原理我这里就不做介绍了,可参考http://orchome.com/kafka/in ...
- java实现Kafka的消费者示例
使用java实现Kafka的消费者 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...
- 4 kafka集群部署及kafka生产者java客户端编程 + kafka消费者java客户端编程
本博文的主要内容有 kafka的单机模式部署 kafka的分布式模式部署 生产者java客户端编程 消费者java客户端编程 运行kafka ,需要依赖 zookeeper,你可以使用已有的 zo ...
- Java版Kafka使用及配置解释
Java版Kafka使用及配置解释 一.Java示例 kafka是吞吐量巨大的一个消息系统,它是用scala写的,和普通的消息的生产消费还有所不同,写了个demo程序供大家参考.kafka的安装请参考 ...
- 第23章 java线程通信——生产者/消费者模型案例
第23章 java线程通信--生产者/消费者模型案例 1.案例: package com.rocco; /** * 生产者消费者问题,涉及到几个类 * 第一,这个问题本身就是一个类,即主类 * 第二, ...
- 【转】 详解Kafka生产者Producer配置
粘贴一下这个配置,与我自己的程序做对比,看看能不能完善我的异步带代码: ----------------------------------------- 详解Kafka生产者Produce ...
- RocketMQ生产者示例程序
转载请注明出处:http://www.cnblogs.com/xiaodf/ 本示例展示了一个RocketMQ producer的简单实现,通过解析文本文件获取输入数据,将数据经过Avro序列化后发送 ...
- JAVA版Kafka代码及配置解释
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/java-kafka.html.html 一.JAVA代码 kafka是吞吐量巨大的一个消息系统,它是 ...
随机推荐
- 对Deeplung检测+两样性分类的一个整合
整体的流程分为以下几步: 读取原始数据(.mhd文件)——> 生成mask ——> 对数据预处理 ——> 执行检测 ——> 对检测结果进行分类 ——>可视化 懒一点,不贴 ...
- Java—关于String的分析
一.两种赋值方式的比较 1.直接赋值法:String s1="abc"; 这种赋值方法用的最多,因为它可能不需要创建对象,或者只创建一次. 它首先会判断字符串常量池有没有存在字符串 ...
- Maven-pom.xml文件报错 Plugin execution not covered by lifecycle configuration
问题: Eclipse中新导入的项目pom.xml文件报错: Plugin execution not covered by lifecycle configuration: org.jacoco:j ...
- 设置nginx反向代理将80端口转发到9999端口
关于linux系统不允许个人账户使用80端口,导致无法将express默认的bin/www内3000端口改为80端口一个问题,可以使用sudo来强制启动,当然,这样显然不合适,这时候,可以使用ngin ...
- IntelliJ IDEA使用心得之快捷键篇
关于IDEA快捷键的文章有很多,因此,我只对经常使用快捷键进行介绍. 因为我的第一款IDE是eclipse,因此我是根据eclipse的快捷键习惯来重置IDEA的快捷键. 点击进入IDE设置界面:
- android学习-数据存储(一)-----SQLite源码分析
分析SQLiteDatabase.java,SQLiteStatement.java,SQLiteSession.java,SQLiteConnectionPool.java,SQLiteConnec ...
- tensorflow语法笔记
1.如何理解 tf.reduce_max或者 tf.reduce_mean中对Tensor和高维矩阵的坐标轴axis的选择的操作 tf.reduce_mean( input_tensor, axis= ...
- 机器学习--Gradient Boosting Machine(GBM)调参方法详解
一.GBM参数 总的来说GBM的参数可以被归为三类: 树参数:调节模型中每个决策树的性质 Boosting参数:调节模型中boosting的操作 其他模型参数:调节模型总体的各项运作 1.树参数 现在 ...
- hadoop下安装mahout
安装hadoop 完成 安装mahout 首先下载mahout压缩文件apache-mahout-distribution-0.12.2.tar.gz 放到/home/hadoop/software- ...
- rails image_tag生成图片标签
image_tag(source, options={}) Link Returns an HTML image tag for thesource. The source can be a full ...