安裝kafka-python
pip install kafka-python
生產者
from kafka import KafkaProducer # 有時候導入包會報錯,使用pip uninstall kafka-python,卸載後重裝可以解決
import json
# 創建producer對象
producer = KafkaProducer(
value_serializer=lambda v: json.dumps(v).encode('utf-8'), # 對發送的數據進行序列化處理
bootstrap_servers=['192.168.0.189:9092','192.168.0.190:9092','192.168.0.191:9092'] # 安裝了kafka的集羣
)
for i in range(10):
# 創建 data
data={
"name":"李四",
"age":23,
"gender":"男",
"id":i
}
# 將data發送到kafka,主題'test_topic'(自定義)
producer.send('test_topic', data)
producer.close()
消費者
from kafka import KafkaConsumer
import json
# 建立消費者對象
consumer = KafkaConsumer('test_topic', # 與消費者中發送消息的 topic對應
bootstrap_servers=['192.168.0.189:9092','192.168.0.190:9092','192.168.0.191:9092'],
value_deserializer=json.loads # 反序列化數據
)
# 生產者中send()一次數據,消費者中就會接收到一次數據,所以需要遍歷
for message in consumer:
print(message.value) # 通過.value方法獲取到值
consumer.close()
注:有時候建立 生產者 或消費者 對象時會報錯,反覆多試幾次就可以建立成功,具體什麼原因還得多研究,後續補充
參考鏈接