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)
相关推荐
咋吃都不胖lyh1 小时前
小白零基础教程:安装 Conda + VSCode 配置 Python 开发环境
人工智能·python·conda
闲人编程2 小时前
构建一个短链接生成器服务(FastAPI + SQLite)
jvm·python·sqlite·fastapi·生成器·短链接·caodecapsule
杰瑞哥哥3 小时前
标准 Python 项目结构
开发语言·python
西部森林牧歌3 小时前
Arbess零基础学习 - 使用Arbess+GitLab实现Python项目构建/主机部署
python·ci/cd·gitlab·tiklab devops
Jay_Franklin3 小时前
Python中使用sqlite3模块和panel完成SQLite数据库中PDF的写入和读取
数据库·笔记·python·pycharm·sqlite·pdf·py
热爱编程的小白白3 小时前
【Playwright自动化】安装和使用
开发语言·python
听风吟丶3 小时前
Java NIO 深度解析:从 BIO 到 NIO 的演进与实战
开发语言·python
yuxb733 小时前
Python基础(一)
笔记·python
QiZhang | UESTC4 小时前
JAVA算法练习题day67
java·python·学习·算法·leetcode
Kratzdisteln4 小时前
【TIDE DIARY 7】临床指南转公众版系统升级详解
python