kafka之kafka-python模块使用

1、基础知识

1.1、模块简介

在python的web项目中,我们需要基于 kafka 来实现数据的存储和获取。在python库中有一个功能模块 kafka-python,它可以作为 Apache Kafka 分布式流处理系统的 Python 客户端。
kafka-python 最好与较新的代理(0.9+)一起使用,但向后兼容旧版本(到 0.8.0)。

1.2、模块简介

kafka-python 提供了两个类来分别实现 数据推送 和 数据获取 两种场景。
 
KafkaConsumer 一个高级消息消费者,消费者迭代器返回 ConsumerRecords,它们是简单的命名元组公开基本消息属性:topic, partition, offset, key, value
KafkaProducer 一个高级的异步消息生产者,KafkaProducer 可以跨线程使用而不会出现问题。

1.3、环境准备

mkvirtualenv python3
pip install kafka-python

2、示例-生产者与消费者操作

2.1、生产者代码

# -*- coding: utf-8 -*-

from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers=["192.168.10.30:9092", "192.168.10.31:9092", "192.168.10.32:9092"])
producer.send('kafkatest', key=b'content',value=b'Hello Kafka')
producer.flush()

2.2、消费者代码

# -*- coding: utf-8 -*-

from kafka import KafkaConsumer

consumer = KafkaConsumer(bootstrap_servers=["192.168.10.30:9092", "192.168.10.31:9092", "192.168.10.32:9092"],
                         enable_auto_commit=True,auto_commit_interval_ms=5000)
consumer.subscribe(['kafkatest'])
for msg in consumer:
    print(msg.key,msg.value)

2.3、运行代码

2.3.1、运行消费者代码

2.3.2、运行生产者代码

 

posted @ 2023-06-02 19:05  小粉优化大师  阅读(729)  评论(0编辑  收藏  举报