生产者(设备)和消息服务器(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)之间的负载平衡的主要内容,如果未能解决你的问题,请参考以下文章
qpid proton url,用于从给定订阅(主题)接收消息
python-qpid-proton 示例,向 azure 发送消息不起作用