pykafka简单应用
来源:互联网 发布:天阳宏业怎么样知乎 编辑:程序博客网 时间:2024/06/06 12:47
'''简单的pykafka生产,消费,再生产过程;'''from pykafka import KafkaClientimport json#消息生产者函数:def atcl_produce(topic): client = KafkaClient(hosts = 'X.X.X.X:9092') #设定host,port;X.X.X.X:配置好的kafka的IP地址 atcl_topic = client.topics[topic.encode('utf_8')] #设定topic for i in range(3): msg = {'id':i,'article':'I am an economic articles','MD5':'2345','status':'10010'} #模拟一个准备发送到kafka的message print('开始生产topic为' + str(atcl_topic) +'的第' + str(i) + '篇文章') with atcl_topic.get_sync_producer() as producer: atcl_msg = json.dumps(msg) producer.produce(atcl_msg.encode('utf-8')) print('文章已经生产完')#消息消费者函数:def atcl_consume(topic): client = KafkaClient(hosts = 'X.X.X.X:9092') #设定host,port atcl_topic = client.topics[topic.encode('utf_8')] #设定准备读取的topic atcl_consumer = atcl_topic.get_balanced_consumer(consumer_group = 'undo'.encode('utf-8'), auto_commit_enable = True, #设置为False的时候不需要添加consumer_group,直接连接topic即可取到消息 zookeeper_connect = 'X.X.X.X:2181' #从zookeeper消费,zookeeper的默认端口为2181 ) print('文章已经消费') return atcl_consumerif __name__ == '__main__': atcl_produce('undo') #模拟生产topic为undo的文章 atcl_consumer = atcl_consume('undo') #模拟消费topic为undo的文章 atcl_produce('done') #将topic为undo的文章转化为done,重新生产到topic里。 print('程序已经完成')
一些其他相关:
1.从kafka中一个topic提取消息,消息大致按照顺序被读取,但不严格按照;
2.消费后的消息还在kafka中,但是由于offset(偏移量)移动,所以继续读未读消息;
阅读全文
0 0
- pykafka简单应用
- pykafka示例
- pykafka性能比较
- pykafka中consumer_group的设置
- pykafka的SessionExpiredError、PartitionOwnedError、ConsumerStoppedException
- pykafka常见问题分析与记录
- pykafka的消息队列的使用
- 使用pykafka读取实时数据小例子
- pykafka使用示例,自动消费最新消息,不重复消费。
- 使用pykafka操作kafka踩的一个坑
- ORACLE简单应用
- Hibernate的简单应用
- HTA的简单应用
- Hibernate的简单应用
- XML简单应用
- ASP.NET简单应用
- CreateRemoteThread简单应用
- Log4j简单应用
- 关于Sql Server JDBC 4.0驱动在maven中引入失败的问题
- 社区发现的3个评估指标:标准化互信息NMI,ARI指标,以及模块度(modularity)
- Android Studio SDK Manager 无法更新
- Kibana(五):调试模式无法启动的解决办法
- Unity 开发日记/教程 俄罗斯方块 (二) 搭建方块UI和生成方块.
- pykafka简单应用
- Ubuntu16.04 和 Win7 双系统启动顺序更改
- 文件copy
- 数据结构之栈的定义及python实现
- 线性表之顺序存储
- Qt
- 选项卡tab小例子
- Go语言错误处理
- jquery选择器