ser*_*rgi 6 python cluster-computing rabbitmq pika
我有一个使用Pika包(0.9.13)的Python客户端,并从RabbitMQ集群中的一个节点检索数据.群集由放置在两个不同主机(url_1和url_2)中的两个节点组成.如何让我的Python客户端订阅这两个节点?
这是我的代码的主要结构:
import pika
credentials = pika.PlainCredentials(user, password)
connection = pika.BlockingConnection(pika.ConnectionParameters(host=url_1,
credentials=credentials, ssl=ssl, port=port))
channel = connection.channel()
channel.exchange_declare(exchange=exchange.name,
type=exchange.type, durable=exchange.durable)
result = channel.queue_declare(queue=queue.name, exclusive=queue.exclusive,
durable=queue.durable, auto_delete=queue.autoDelete)
channel.queue_bind(exchange=exchange.name, queue=queue.name,
routing_key=binding_key)
channel.basic_consume(callback,
queue=queue.name,
no_ack=True)
channel.start_consuming()
Run Code Online (Sandbox Code Playgroud)
如果您有一个集群,那么连接到哪个节点并不重要。
通常为了解决这个典型问题,配置一个简单的负载均衡器并将客户端连接到负载均衡器就足够了
客户端 -----> LB ------>rabbitmq(s) 实例集群。
编辑:
负载均衡器如HAPROXY或http://crossroads.e-tunity.com/它们轻便且易于使用。
我还想添加这一点:RabbitMQ Client connect to multiplehosts
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |