MQ中间件概念一览
MQ,即Message Queue,消息队列,是一种应用间的通信方式,可用于分布式系统、异步处理、流量控制等场景。
常见的MQ中间件包括:
- Apache ActiveMQ
- Apache Kafka (由Apache开发,被多家公司使用,特别是在大数据和实时处理领域)
- IBM WebSphere MQ
- RabbitMQ (使用Erlang语言开发,支持多种协议,如AMQP)
- RocketMQ (由阿里巴巴开发,用于交易型应用,具有高吞吐量和高可用性)
- IBM MQ (支持多种协议,如MQTT,支持跨平台和多种编程语言)
以下是一个简单的Python示例,使用RabbitMQ创建一个消息生产者和消费者:
# 安装依赖:pip install pika
import pika
# 消息生产者
def send_message(message):
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='',
routing_key='hello',
body=message)
print(" [x] Sent %r" % message)
connection.close()
# 消息消费者
def receive_message():
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
# 生产者发送消息
send_message('Hello World!')
# 消费者等待并接收消息
receive_message()
这个示例演示了如何使用Python和RabbitMQ创建一个简单的消息队列。生产者发送消息到队列,消费者从队列中接收消息并处理。
评论已关闭