python kafka 发送/接收 消息

首先有安装好的 kafka 环境,点我查看安装教程

环境安装

bash 复制代码
pip install kafka-python -i https://pypi.tuna.tsinghua.edu.cn/simple/

生产者

python 复制代码
import json
import traceback
from kafka import KafkaProducer
from kafka.errors import kafka_errors


def producer_demo():
    producer = KafkaProducer(
        bootstrap_servers=['localhost:9092'], 
        key_serializer=lambda k: json.dumps(k).encode(),
        value_serializer=lambda v: json.dumps(v).encode())
    
    future = producer.send(
        'mykafka',
        key='creater',  # 同一个key值,会被送至同一个分区
        value="{'creater':'zhangsan', 'date':'2023-04-04'}",
        partition=0)  # 向分区1发送消息
    future.get(timeout=100)

if __name__ == "__main__":
    producer_demo()

消费者

python 复制代码
import json
import time
import traceback
from kafka import KafkaConsumer
from kafka.errors import kafka_errors

def consumer_demo():
    consumer = KafkaConsumer(
        'mykafka',
        bootstrap_servers="127.0.0.1:9092",
        auto_offset_reset='earliest'
    )

    for message in consumer:
        print(message)
        print(json.loads(message.value))
        # print(a)

if __name__ == "__main__":
    while True:
        consumer_demo()
        time.sleep(1)
相关推荐
2301_782040456 分钟前
JavaScript中丢失的this:回调函数中指向改变的对策
jvm·数据库·python
2301_818008447 分钟前
MySQL从库出现数据同步异常中断_重新获取binlog坐标同步
jvm·数据库·python
四维迁跃8 分钟前
MySQL如何优雅处理数据库连接池耗尽_HikariCP与连接数调优
jvm·数据库·python
X566122 分钟前
Go语言如何做Helm Chart_Go语言Helm打包部署教程【收藏】
jvm·数据库·python
szccyw024 分钟前
如何阻止 HTML 页面在 JavaScript 执行完成前渲染
jvm·数据库·python
forEverPlume26 分钟前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
abc123456sdggfd29 分钟前
golang如何操作Elasticsearch搜索引擎_golang操作Elasticsearch方法
jvm·数据库·python
盼小辉丶29 分钟前
PyTorch强化学习实战(6)——交叉熵方法详解与实现
人工智能·pytorch·python·强化学习
计算机毕业编程指导师30 分钟前
【计算机毕设选题推荐】基于Hadoop+Spark的诺贝尔奖可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·诺贝尔奖
ZhengEnCi32 分钟前
06-多头注意力机制 🎯
人工智能·pytorch·python