python kafka(一)生产和消费

kafka-python(一)生产和消费

python 连接kafka组件安装:

pip install kafka-python

 

Producer(生产者)

kafka-python 生产数据,需要导入:KafkaProducer

from kafka import KafkaProducer

创建KafkaProducer连接实例

producer = KafkaProducer(bootstrap_servers=["192.168.11.128:9092"])

将信息推送到主题(topic)中,推送的消息(message)最好转成json格式,或者bytes类型

producer.send(topic,data)

写一个简单的示例,如下:

复制代码
#encoding:utf-8
from kafka import KafkaProducer
import json
import time
import random

topic = "newOrder"
producer = KafkaProducer(bootstrap_servers=["192.168.11.128:9092"])

for i in range(30):
    time.sleep(1)
    username = ["jcTang","libai","tufu","tumu"]
    phone = ["151***4481","159***6629","189***7891","131***5681"]
    random_num = random.randint(0,3)
    orderinfo={
        "orderNo":"no"+str(time.time()).replace(".","")[:10],
        "username":username[random_num],
        "phone":phone[random_num],
        "goodid":random.randint(1,100),
        "price":random.randint(1,100),
        "buyNum":random.randint(1,20),
        "allPrice":random.randint(1,10000),
        "remark":"测试kafka"
    }
    data = json.dumps(orderinfo,ensure_ascii=True).encode("utf-8")
    print(data)
    producer.send(topic,data)

producer.close()
复制代码

 

Consumer(消费者)

kafka-python 消费数据,需要导入:KafkaConsumer

from kafka import KafkaConsumer

创建KafkaConsumer连接实例

consumer = KafkaConsumer(
                "newOrder",
                bootstrap_servers=["192.168.11.128:9092"],
                )

写一个简单的示例,如下:

复制代码
#encoding:utf-8
from kafka import KafkaConsumer
import json

consumer = KafkaConsumer(
                "newOrder",
                bootstrap_servers=["192.168.11.128:9092"],
                )

for i in consumer:
    print(json.loads(i.value))
复制代码

看看运行效果:

 

 

posted @   西夏一品唐  阅读(3759)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2021-07-12 Linux + jmeter + grafana + influxdb 监控环境
点击右上角即可分享
微信分享提示