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)
相关推荐
火车叼位12 分钟前
使用 uv 工具在 Windows 系统快速下载安装与切换 Python
python
心扬35 分钟前
python网络编程
开发语言·网络·python·tcp/ip
忧陌60638 分钟前
DAY 44 预训练模型
python
点云SLAM1 小时前
PyTorch 中contiguous函数使用详解和代码演示
人工智能·pytorch·python·3d深度学习·contiguous函数·张量内存布局优化·张量操作
尘浮7281 小时前
60天python训练计划----day45
开发语言·python
哆啦A梦的口袋呀1 小时前
基于Python学习《Head First设计模式》第六章 命令模式
python·学习·设计模式
努力搬砖的咸鱼1 小时前
从零开始搭建 Pytest 测试框架(Python 3.8 + PyCharm 版)
python·pycharm·pytest
Calvex1 小时前
PyCharm集成Conda环境
python·pycharm·conda
一千柯橘2 小时前
python 项目搭建(类比 node 来学习)
python
sduwcgg2 小时前
python的numpy的MKL加速
开发语言·python·numpy