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 | packagecom.lisg.kafkatest;importjava.util.Properties;importkafka.javaapi.producer.Producer;importkafka.producer.KeyedMessage;importkafka.producer.Partitioner;importkafka.producer.ProducerConfig;importkafka.serializer.StringEncoder;/** * Kafka生产者 * @author lisg * */publicclassKafkaProducer {    publicstaticvoidmain(String[] args) {                Properties props = newProperties();        //根据这个配置获取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 = newProducer<Integer, String>(                newProducerConfig(props));                intcount = 0;        while(true) {            String message = "message-"+ ++count;            //消息主题是test            KeyedMessage<Integer, String> keyedMessage = newKeyedMessage<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();    } }/** * 自定义分区类 * */classMyPartition implementsPartitioner {    publicintpartition(Object key, intnumPartitions) {        returnkey.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是吞吐量巨大的一个消息系统,它是 ... 
随机推荐
- spring源码开发环境搭建
			下载spring源码 地址 https://github.com/spring-projects/spring-framework 可以下载release版本,也可以直接git clone当前开发版本 ... 
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
			python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ... 
- EJB3 阶段总结+一个EJB3案例 (1)
			经过一段时时间的学习,对EJB3的相关知识和jboss8的配置有了大概的了解. 网上对EJB的评论很多,基本都是负面的,都表示EJB太过于沉重,不容易维护.但通过这段时间的学习,私下认为,EJB3在某 ... 
- kubernetes ingress到pod的数据流
			假设现在有一个ingress暴露的服务 example.com.cn,查看一下流量是怎么传输到后端的 使用kubectl get ingress可以查看到如下内容,example.com.cn对应的i ... 
- iptables关键学习总结
			iptables技术推荐参考这位仁兄的博客:http://www.zsythink.net/archives/category/%E8%BF%90%E7%BB%B4%E7%9B%B8%E5%85%B3 ... 
- beego 遇到的一些问题
			1.安装 beego 出现的问题 今天在通过 go get -u github.com/astaxie/beego 安装 beego 应用时,出现下面问题: # cd .; git clone htt ... 
- WPF多路绑定
			WPF多路绑定 多路绑定实现对数据的计算,XAML: 引用资源所在位置 xmlns:cmlib="clr-namespace:CommonLib;assembly=CommonLib&q ... 
- 用ruby调用执行shell命令
			碰到需要调用操作系统shell命令的时候,Ruby为我们提供了六种完成任务的方法: 1.Exec方法: Kernel#exec方法通过调用指定的命令取代当前进程: 例子: $ ... 
- Oracle11g在Windows和Linux下imp导入表,exp导出表,sqluldr2导出表,sqlldr导入表
			Windows(Win10) 打开cmd 首先输入sqlplus,依次输入用户名.口令 C:\Users\hasee>sqlplus SQL*Plus: Release Production o ... 
- Android Studio 打包生成 APK
			1. 第一步 Build -> Generate Signed APK 2. 之后会要求开发者输入相关的密钥文件和密码 如果有则找到对应的 .jks 文件输入密码完成相应操作,否则则创建一个对应 ... 
