python发送kafka消息

1、安装相关依赖:

pip install kafka==1.3.5

pip install kafka-python==2.0.2

2、创建kafka,参考kafka3.0版本部署及相关明令汇总_会发paper的学渣的博客-CSDN博客

3、代码部分:

from kafka import KafkaProducer
from kafka.errors import kafka_errors
producer = KafkaProducer(bootstrap_servers = BROKER_LIST,  #线上环境
                         # security_protocol = 'SASL_PLAINTEXT',
                         # sasl_mechanism = 'PLAIN',
                         # sasl_plain_username='test',
                         # sasl_plain_password='test@123',
                         key_serializer = lambda k :json.dumps(k).encode('utf-8'),
                         value_serializer = lambda v :json.dumps(v).encode('utf-8'))

def send_request_user(request_users):
    print("topic user_len:{}".format(len(request_users)))
    for name,page_size in  request_users:
        try:
            partition_id = random.randint(0,4)
            future = producer.send(topic=TOPIC_NAME_MAIN,
                                   partition=partition_id,
                                   key="custId",
                                   value={"name":name,"pageSize":page_size})
            record_metadata = future.get(timeout=30)
            print("topic partition:{}, user_id :{}".format(record_metadata.partition, user))
            # logger.info(record_metadata.topic)
            #logger.info("offset value: %s" % record_metadata.offset)
        except kafka_errors as e:
            print(repr(e))


if __name__ == '__main__':
    while True:
        name= input()
        page_size = int(input())
        request_users = [(name,page_size)]
        send_request_user(request_users)

 


                
Python中生产Kafka消息可以使用多个库,其中包括kafka-python和pykafka。如果你对gevent协程的支持有要求,可以选择使用pykafka库。下面是一个使用pykafka库生产Kafka消息的示例代码: ```python from pykafka import KafkaClient # 创建Kafka客户端 client = KafkaClient(hosts='localhost:9092') # 获取指定的主题 topic = client.topics\[b'my_topic'\] # 创建生产者 producer = topic.get_producer() # 发送消息 message = b'Hello, Kafka!' producer.produce(message) # 刷新缓冲区 producer.flush() ``` 这段代码首先创建了一个Kafka客户端,然后获取了指定的主题。接下来,创建了一个生产者,并使用`produce`方法发送了一条消息。最后,使用`flush`方法刷新了缓冲区,确保消息发送Kafka服务器。 请注意,这只是一个简单的示例代码,实际使用中可能需要根据你的具体需求进行适当的配置和调整。 #### 引用[.reference_title] - *1* [python 使用pykafka连接kafka生产消息](https://blog.csdn.net/qq_41998415/article/details/108446186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [python使用kafka生产和消费案例](https://blog.csdn.net/weixin_43813200/article/details/124528264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会发paper的学渣

您的鼓励和将是我前进的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值