python消息中间件有哪些_用kafka作为消息中间件 -实现数据生产和消费的python脚本...

本文介绍了一个使用Python实现的Kafka生产者与消费者示例,通过具体代码展示了如何配置Kafka集群并发送JSON格式的消息到指定主题,同时接收这些消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kafka实现推送生产数据的tmp_sc.py脚本文件

import socket

import json

from kafka import KafkaProducer

from kafka.errors import KafkaError

#kafka的配置文件:(bootstrap_servers:kafka的集群地址,topic_name:主题,consumer_id:消费分组)

KAFKA_SETTING = {

‘bootstrap_servers‘: ["172.24.181.182:9092", "172.24.181.181:9092", "172.24.181.183:9092"],

‘topic_name‘: ‘user_data‘,

‘consumer_id‘: ‘consumer_ai‘

}

conf= KAFKA_SETTING

print("[setting] =", conf)

producer = KafkaProducer(bootstrap_servers=conf[‘bootstrap_servers‘],

api_version = (0,10),

retries=5)

partitions = producer.partitions_for(conf[‘topic_name‘])

print(‘Topic下分区: %s‘ % partitions)

#需要推送的数据:(推送到kafka的数据类型必须的json类型)

user_data = {

"appToken": "d23ea83dbf7c411aa36e5ab519f41818",

"appId": "JF_WK_001",

"mobile": "15950857927",

"isRealTimeReturn": True,

"applyTime": 15100226057,

"uuid": "a91140f54b898w85d7a50d4b95994",

"customerNo": 1153265851

}

send_data = bytes(json.dumps(user_data), encoding="utf-8")

try:

future = producer.send(conf[‘topic_name‘], send_data)

future.get()

print(‘send message succeed.‘)

except KafkaError as e:

print(‘send message failed. [e] =‘),

kafka实现推送生产数据的tmp_xf.py脚本文件

import socket

from kafka import KafkaConsumer

from kafka.errors import KafkaError

KAFKA_SETTING = {

‘bootstrap_servers‘: ["172.24.181.182:9092", "172.24.181.181:9092", "172.24.181.183:9092"],

‘topic_name‘: ‘result_data‘,

‘topic_name_user‘: ‘user_data‘,

‘consumer_id‘: ‘consumer_ai‘

}

conf = KAFKA_SETTING

consumer = KafkaConsumer(bootstrap_servers=conf[‘bootstrap_servers‘],

group_id=conf[‘consumer_id‘],

api_version = (0,10))

print(‘consumer start to consuming...‘)

consumer.subscribe((conf[‘topic_name‘], ))

from IPython import embed

# embed()

print("consumer = ", consumer)

for message in consumer:

print(message.topic, message.offset, message.key, message.value, message.partition)

原文:https://www.cnblogs.com/DJRemix/p/11383103.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值