RabbitMQ dan Kafka ialah kedua-dua sistem baris gilir mesej yang popular, tetapi ia berbeza dari segi fungsi dan ciri. Apabila memilih sistem baris gilir mesej yang betul untuk aplikasi anda, anda perlu mengambil kira faktor berikut:
Berikut ialah contoh kod untuk menghantar dan menerima mesej menggunakan RabbitMQ:
import pika # 连接到RabbitMQ服务器 connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost')) # 创建一个通道 channel = connection.channel() # 声明一个队列 channel.queue_declare(queue='hello') # 定义回调函数 def callback(ch, method, properties, body): print("Received message: {}".format(body)) # 订阅队列 channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True) # 启动事件循环 channel.start_consuming()
Berikut adalah contoh kod untuk menghantar dan menerima mesej menggunakan Kafka:
from kafka import KafkaProducer, KafkaConsumer # 创建一个Kafka生产者 producer = KafkaProducer(bootstrap_servers=['localhost:9092']) # 创建一个Kafka消费者 consumer = KafkaConsumer('hello', group_id='my-group', bootstrap_servers=['localhost:9092']) # 发送消息 producer.send('hello', b'Hello, world!') # 接收消息 for message in consumer: print("Received message: {}".format(message.value))
sistem beratur, masing-masing mempunyai kelebihan dan kekurangan tersendiri. Apabila memilih sistem baris gilir mesej yang betul untuk aplikasi anda, anda perlu mempertimbangkan keperluan khusus aplikasi anda.
Atas ialah kandungan terperinci RabbitMQ vs Kafka: Mana yang lebih baik untuk aplikasi anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!