首页 > 其他 > 详细

Kafka send问题

时间:2019-04-28 11:26:13      阅读:346      评论:0      收藏:0      [点我收藏+]

kafka 在send之后不会立即把消息发送到broker。会把消息发到producer所在电脑内存里,后端的IOThread会扫描内存,并从中取出消息进行消费。

在调用close()或者flush()方法之后,会立即将消息发送到broker里。

技术分享图片

 

from kafka import KafkaProducer

import pickle


producer = KafkaProducer(
    bootstrap_servers=10.2.2.139:9092,
    key_serializer=lambda k:pickle.dumps(k),
    value_serializer=lambda v:pickle.dumps(v))

producer.send(20190428,key=name,value=cys,partition=0)
# for i in range(10):
#     for ii in range(1):
#         result = producer.send(‘20190428-4‘,"chenyishi".encode())
#         print(result)
#         print(type(result))

# producer.flush()
producer.close()  # 不加有可能导致内存泄漏

 

Kafka send问题

原文:https://www.cnblogs.com/chenyishi/p/10782609.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!