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)
相关推荐
默_笙3 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003963 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫3 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技3 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时3 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊3 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1233 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero073 天前
Jev 与 Laya
python·语言模型