Kafka 学习笔记(三)之Java Consumer客户端

原创 2015年07月11日 03:03:39

写了producer,这篇我们来看看consumer。

理论上讲,Kafka的consumer有high level 和low level的两种,这点和producer一样。High level 的不用管offset 和load balancing,都是kafka写好了的,用high level的API呢,control的权限就小一些。 但是如果我们要动offset,想看以前的message,就需要更大的权限,这样需要low level的,作为tradeoff,我们就要考虑更多的东西。更详细的官网上有介绍。

由于我也是初学的菜鸟,我们从简单好用的High level学起。如果以后用到low level的,会再写出来。

用到的代码还是上一篇的github上写好的代码。文件夹里有consumer的java file,做的是moving average,链接如下

https://github.com/gwenshap/kafka-examples/blob/master/SimpleMovingAvg/src/main/java/com/shapira/examples/zkconsumer/simplemovingavg/SimpleMovingAvgZkConsumer.java

首先打开consumer

Consumer 开启用的script

./run_params.sh localhost:2181 avg test1 10 120000



Producer开启,用我们上一篇介绍的producer来产生data

命令和上一篇的一样


然后producer端产生data并送到broker,consumer端收到data以后,做移动平均。我们这时看consumer的窗口:


打印出了平均值。很好。consumer works!


前几篇都是写的java客户端,下一篇我们来介绍一些python客户端。

To be continued!



Kafka 0.9 新版本consumer客户端使用介绍

kafka最初的客户端使用scala写的, 但是有很多限制. 在0.8.1版本中, 用Java重写了producer客户端, 0.9版本中用java重写了consumer客户端, 新的客户端提供了更加...
  • haoyifen
  • haoyifen
  • 2017年01月08日 14:55
  • 4280

漫游Kafka实战篇之客户端编程实例

Consumer API有两个级别。低级别的和一个指定的broker保持连接,并在接收完消息后关闭连接,这个级别是无状态的,每次读取消息都带着offset。 高级别的API隐藏了和brokers连接...
  • honglei915
  • honglei915
  • 2014年07月11日 18:32
  • 39261

kafka 学习笔记(二)之Java Producer客户端

软件神马的装好了,该写代码了,首先学习Producer。 Tutorial的代码只能用来玩,我们真正要做的是用Kafka嵌入到我们自己的程序中。因此用java客户端创建自己的consumer和prod...
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月10日 08:24
  • 1856

kafka 学习笔记(四)之Python客户端

今天看看Python客户端。 代码在github上,和以前一样,我们用github上写好的代码进行测试 https://github.com/mumrah/kafka-python pip inst...
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月11日 04:55
  • 16752

java学习笔记之webservice(三)--使用wsimport命令生成客户端接口

》》接上一篇        在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService...
  • BeauXie
  • BeauXie
  • 2016年10月20日 11:38
  • 2253

Kafka 学习笔记(十)之consumer写入file

承接上一篇,我们在写好了producer之后,来写consumer Consumer接到data之后,写入file中。 vi不显示高亮,不爽,改一下设置 vi /etc/vimrc 添加 s...
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月21日 01:52
  • 1183

Kafka 学习笔记(九)producer 和 consumer分别在两个虚拟机上

这个才是Kafka真正要实现的功能嘛,有人生产消息,有人订阅消息然后生产者发送给订阅者,这个逻辑才对。我们先配置有traffic消息的虚拟机。我是通信的,Kafka我用来监听traffic,所以消息是...
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月20日 01:04
  • 2125

MongoDB入门学习笔记之mongo shell和java客户端

MongoDB提供Shell、Python、Java、Node.js、C++、C#等实现方式。本文介绍使用Shell和Java两种方式实现MongoDB的CRUD操作。首先需要导入数据,从官网下载测试...
  • u014513883
  • u014513883
  • 2015年09月09日 10:34
  • 2206

cassandra学习笔记4--Cassandra Java客户端

现在开始深入了解一下cassandra的数据模型。cassandra是一种NoSQL数据库,NoSQL并不是指没有SQL语句,而是指No Relational。cassandra的数据模型结合了Dyn...
  • tywei2012
  • tywei2012
  • 2013年11月21日 16:37
  • 794

Java学习笔记(二)-------客户端一对多(TCP)多人聊天小程序

实现原理:客户端之间实现信息共享,需要中间服务器端进行信息转发。设置一个ArrayList,存储客户端列表,服务器每收到消息,就去遍历数组中的Socket并将消息转发。服务器端每连接一个客户端,就产生...
  • u010352603
  • u010352603
  • 2016年01月02日 21:17
  • 599
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Kafka 学习笔记(三)之Java Consumer客户端
举报原因:
原因补充:

(最多只允许输入30个字)