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是吞吐量巨大的一个消息系统,它是 ...
随机推荐
- Linux驱动:LCD驱动测试
(1) 进入内核源码目录中,make menuconfig -> Device Drivers -> Graphics support -> [M]Support for frame ...
- 3DES在Android、Ios 和Java 平台的加密解密
DES简介: DES全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法, 算法的入口参数有三个:Key.Data.Mode. K ...
- Fiddler Web Debugger的下载和安装(图文详解)
不多说,直接上干货! Fiddler是一个http协议调试代理工具,它能够记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据.设置断点.调试web应用.修改请求的数据 ...
- nginx添加多站点
1.登陆服务器2.修改ngnix配置文件3.重启ngnix4.测试是否添加成功 修改/nginx/conf/nginx.confviminclude /alidata/server/nginx/con ...
- Glide的用法
最基本用法 glide采用的都是流接口方式 简单的从网络加载图片 Glide.with(context).load(internetUrl).into(targetImageView); 从文件加载 ...
- tomcat安装以及常用配置
目录 一 什么是tomcat 二 tomcat 的版本: 三 tomcat的下载 3.1 tomcat9版本下载链接 3.2 tomcat8.5版本下载链接 四 tomcat的安装 4.1 java环 ...
- 01 JDBC的问题
jdbc编程步骤: 1. 加载.注册数据库驱动 DriverManager 2. 创建并获取数据库链接 Connection 3. 创建jdbc statement/preparedState ...
- 使用Xshell和Xftfp部署简单的项目
最近本人偶尔接触到该如何部署项目,朋友要求截图,趁此之际,简单总结一下,以供大家分享,更希望各位大神指点,大家相互学习,有问题的勿喷. 1.使用环境:win 7+MyEclipse 2014 + to ...
- (转) Java我的高效编程之环境搭建
前言:刚毕业, 工作之余写博客有利于提高技术,更是能帮助人,接下来会认认真真写好每一篇博客.希望大家多多支持.废话不多说,马上开始.这是一篇环境搭建的博客. jdk+eclipse+svn+maven ...
- The number of object passed must be even but was [1]
1.失败,使用TransportClient public static void bulkInsert(TransportClient client) throws IOException { Li ...