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

原创 2015年07月11日 04:55:53

今天看看Python客户端。

代码在github上,和以前一样,我们用github上写好的代码进行测试

https://github.com/mumrah/kafka-python

pip install git+git://github.com/mumrah/kafka-python

先确保机器上已经安装了python

输入命令:python

[root@localhost kafka-python]# python
Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>


先来使用Producer

>>> from kafka import KafkaClient, SimpleProducer, SimpleConsumer

>>> kafka = KafkaClient("localhost:9092")

producer = SimpleProducer(kafka)

producer.send_messages("test1","Hello world!")

值得注意的是,Python客户端不需要想Java客户端一样连接zookeeper,Python客户端的运行和Java版的是两个project,所以方法不一样。



用kafka自带的consumer console,我们可以看到输出的message


同样,Python客户端也有一些可控的参数,例如是否同步:

producer = SimpleProducer(kafka,async=True)

producer = SimpleProducer(kafka,req_acks=SimpleProducer.ACK_AFTER_LOCAL_WRITE) 

还可以获得response,例如

response = producer.send_messages("test1","Hello world!")

response[0].offset

得到offset


再看看Consumer

consumer = SimpleConsumer(kafka,"python","test1")

for msg in consumer:

print(msg)

结果如图:


然后让我们优雅的退出

kafka.close()

exit()

Kafka 的Python客户端介绍完了,enjoy!



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

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

Kafka学习笔记——Kafka原理与使用详解

Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家公司作为多种类型...
  • fuyuwei2015
  • fuyuwei2015
  • 2017年06月08日 23:29
  • 3119

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

写了producer,这篇我们来看看consumer。
  • chuliuxiangjiao
  • chuliuxiangjiao
  • 2015年07月11日 03:03
  • 1110

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

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

python核心编程学习笔记-2016-08-21-01-客户端/服务器架构、套接字

16.1         服务器是一个软件或硬件,用于向一个或多个客户端(客户)提供所需的服务。书中所说的银行出纳模型就与服务器挺类似的。         服务器还具有一个特点就是它处在一个接受请求、...
  • baidu_21088863
  • baidu_21088863
  • 2016年08月21日 17:43
  • 255

MQTT学习笔记——树莓派MQTT客户端 使用Mosquitto和paho-python

本文说明如何在树莓派上安装Mosquitto。本文通过两个简单的例子说明树莓派中如何使用MQTT协议实现消息订阅,这些例子包括Mosquitto_sub指令实现消息订阅和paho-python扩展库实...
  • xukai871105
  • xukai871105
  • 2014年09月13日 21:06
  • 48659

MQTT学习笔记——树莓派MQTT客户端 使用Mosquitto和paho-python

0 前言     本文说明如何在树莓派上安装Mosquitto。本文通过两个简单的例子说明树莓派中如何使用MQTT协议实现消息订阅,这些例子包括Mosquitto_sub指令实现消息订阅和pa...
  • xiaohei5188
  • xiaohei5188
  • 2015年09月13日 14:26
  • 791

firefly学习笔记之C客户端与Python服务器交互(3)

这一章介绍
  • wushang423
  • wushang423
  • 2014年07月16日 20:40
  • 715

firefly学习笔记之C客户端与Python服务器交互(1)

由于firefly可能更多用于C/C++客户端与Python服务器交互,所以这里简单的介绍一下它们之间的交互, 客户端与服务器端的通信无非就是发生字节流数据,当跨平台和跨语言的时候,为了便利性就不得不...
  • wushang423
  • wushang423
  • 2014年07月14日 13:53
  • 543

firefly学习笔记之C客户端与Python服务器交互(2)

承接上文,这里我们介绍另外一种通信格式!    2.xml数据   Xml数据,以前在用gsoap的时候稍微接触过,相比较json,xml数据过大,而且解析xml数据也不是很块,不过xml的数...
  • wushang423
  • wushang423
  • 2014年07月16日 20:29
  • 629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kafka 学习笔记(四)之Python客户端
举报原因:
原因补充:

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