生产者(设备)和消息服务器(Apache Qpid 或 RabbitMQ)之间的负载平衡

Posted

技术标签:

【中文标题】生产者(设备)和消息服务器(Apache Qpid 或 RabbitMQ)之间的负载平衡【英文标题】:Load Balancing among Producers (devices) and Messaging Server ( Apache Qpid or RabbitMQ ) 【发布时间】:2011-06-07 16:13:41 【问题描述】:

最近我开始从事一个需要实现消息传递的项目,可行的选项是:Apache Qpid 或 RabbitMq,我的任务是这样的:

+A+ >>.[百万设备(生产者)--连接到--消息服务器(集群--Qpid或RabbitMQ)] 负载平衡)

然后

+B+ >>.[Messaging Server (Clustered -- Qpid or RabbitMQ) -- Connected to -- GateWay Server (Clustered)]

然后

+C+ >>.[GateWay 服务器(集群)--连接到--Internet Explorer/浏览器(消费者)]

参见 +A+ >>-- 我通常需要使用消息传递来进行负载平衡,然后网关服务器将生成的数据中继给消费者(浏览器)

意味着通过使用一些负载平衡算法在 Broker 内部创建了多个队列。生产者(设备客户端)——将消息的数据发送到特定队列,基于循环或其他常见负载平衡算法传递到队列,可能它也需要 Ack 以保证传递,然后消费者从中挑选消息队列和进一步转发,所有非常标准的东西。

我学习了 AMQP 的基础知识,并执行了 Qpid 和 RabbitMQ 的基本示例,然后是我的问题:

有没有办法,或者一些实验或任何东西可以提供一些东西来选择 RabbitMQ 或 Apache Qpid?

有没有人做过或多或少类似的需求?他/她可以提供任何关于它的cmets吗?或者在实际实现算法、生产者和消费者的实现之前的一些指针?

我的总体要求与负载平衡有关,因为我的项目预计数百万台设备连接到消息服务器 - 稍后消息数据将被中继,此时主要混淆选择 Apache Qpid 或 RabbitMQ,对我来说两者看起来一样

【问题讨论】:

【参考方案1】:

你可能想看看这个:

http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes

【讨论】:

【参考方案2】:

Here 是在 RabbitMQ 中实现高效负载均衡的解决方案。

【讨论】:

以上是关于生产者(设备)和消息服务器(Apache Qpid 或 RabbitMQ)之间的负载平衡的主要内容,如果未能解决你的问题,请参考以下文章

Apache QPID 队列大小和计数

Apache Qpid Python 1.35.0 发布

qpid proton url,用于从给定订阅(主题)接收消息

python-qpid-proton 示例,向 azure 发送消息不起作用

为啥 Apache QPID 代理队列声明参数“x-qpid-dlq-enabled”不能正常工作?

AMQP Qpid Proton - 无法将消息发送到超过 256 个队列