Tag: amqp

RabbitMQ – RabbitMQ可以在一台服务器上处理多less个队列?

我想知道RabbitMQ可以在单个服务器上处理多less个最大队列? 它依赖于RAM吗? 它依赖于erlang过程吗?

用于访问RabbitMQ(AMQP)的最佳PHP客户端库?

在RabbitMQ网站上有一个PHP客户端列表 。 我正在问这个问题,希望那些使用过这些的人能够在这里分享他们的经验。 例如 你有没有麻烦安装? 它是稳定的吗? 有没有任何性能问题? 文档/支持如何? 即使您刚使用过这些库,请分享您的经验。 作为参考,这里列出的一些客户: AMQP的PHP手册页 php-amqp – 由StudiVZ开发和使用的客户端,最初基于RabbitMQ-C php-amqplib是py-amqplib的一个端口 php-amqplib更新了php-amqplib的分支,以支持PHP 5.3 AMQP客户端的PECL版本 PS我知道“最佳…”是“主观的”,但这个问题的重点是收集经验,帮助人们对这些AMQP图书馆做出明智的决定。 请不要因为它里面有“最好”这个词而下意识地closures这个问题。 PPS我在RHEL 5上使用PHP 5.3。

amqp vs amqplib – 哪个Node.js amqp客户端库比较好?

这些amqp客户端库有什么区别? 哪一个是最值得推荐的? 主要区别是什么?

RabbitMQ AMQP.BasicProperties.Builder值

在RabbitMQ / AMQP Java客户端中,可以创build一个AMQP.BasicProperties.Builder ,并使用它build()一个AMQP.BasicProperties实例。 这个构build的属性实例可以用于各种重要的事情。 这个构build器类有许多“构build器”风格的方法可用: BasicProperties.Builder propsBuilder = new BasicProperties.Builder(); propsBuilder .appId(???) .clusterId(???) .contentEncoding(???) .contentType(???) .correlationId(???) .deliveryMode(2) .expiration(???) .headers(???) .messageId(???) .priority(???) .replyTo(???) .timestamp(???) .type(???) .userId(???); 我正在寻找这些builer方法帮助“build立”的领域, 最重要的是,每个领域有什么有效的价值 。 例如,什么是clusterId ,它的有效值是什么? 什么是type ,它的有效值是什么? 等等。 我已经花了整整一个早上去淘洗: Java客户端文档 ; 和 Javadocs ; 和 RabbitMQ完整参考指南 ; 和 AMQP规范 在所有这些文档中,我找不到明确的定义(除了模糊地解释哪些priority , contentEncoding和deliveryMode是什么)每个这些字段是什么,以及它们的有效值是什么。 有人知道吗? 更重要的是,是否有人知道这些甚至logging在哪里? 提前致谢!

从客户端检查RabbitMQ队列大小

有谁知道是否有办法从客户端应用程序检查RabbitMQ队列中的消息数量? 我正在使用.NET客户端库。

RabbitMQ使用立即和强制位

我已经使用RabbitMQ服务器和立即字段设置为真发布消息时,我试着发送50,000条消息,并使用rabbitmqctl list_queues ,我看到队列中的消息数为零 。 然后我改变了立即标志为假 ,再次尝试发送50,000条消息,然后使用rabbitmqctl list_queues,我看到总共有100,000条消息在队列中(到目前为止还没有消费者在场) 之后,我开始消费,它消耗了所有的10万条消息。有人可以帮助我了解即时位域和这种行为。 另外,我无法理解强制位域的概念。 提前感谢。 Gurpreet辛格。

低延迟,大规模的消息队列

在Facebook应用和云计算时代,我正在重新思考大型多人游戏。 假设我要在现有的开放协议的基础上构build一些东西,我想为100万个同时在线的玩家提供服务,只是为了解决这个问题。 假设每个玩家有一个传入的消息队列(对于聊天和什么),平均多一个传入消息队列(公会,区域,实例,拍卖等),所以我们有200万个队列。 一个玩家一次听1-10个队列。 每个队列平均每秒钟可能有1条消息,但某些队列的速率会更高,并且听众数量也会更高(比如说,一个实例的“实体位置”队列)。 我们假设不超过100毫秒的系统排队等待时间,这适用于轻度动作型游戏(但不包括Quake或Unreal Tournament等游戏)。 从其他系统,我知道在单个1U或刀片服务器上为10,000个用户提供服务是一个合理的预期(假设没有任何其他昂贵的事情发生,如物理仿真或其他)。 因此,在客户端连接到连接网关(又连接到消息队列服务器)的交叉开关集群系统中,每个网关有100个网关机器,每个网关有100个队列机器,每个队列服务器有20000个消息队列。 再次,只是为了一般的范围。 每台MQ机器上的连接数量很less:大约100个,可以与每个网关通信。 网关上的连接数量会更多:客户端的连接数量为10,100,连接到所有的队列服务器。 (最重要的是,为游戏世界模拟服务器添加一些连接,或者不pipe怎样,但是我现在试图保持这种分离) 如果我不想从头开始构build,我不得不使用一些存在的消息传递和/或排队基础结构。 我能find的两个开放协议是AMQP和XMPP。 XMPP的预期用途更像是这个游戏系统所需要的,但是开销非常明显(XML,再加上详细的存在数据,以及其他必须build立在其上的其他频道)。 AMQP的实际数据模型更接近于我上面所描述的,但是所有的用户似乎都是大型的企业types的公司,而工作负载似乎是工作stream相关的,而不是实时的游戏更新相关的。 有没有人有任何白天的经验与这些技术,或其实施,你可以分享?

从ActiveMQ切换到RabbitMQ

我目前正在使用ActiveMQ来满足我的消息需求; 除了几个db失败之外,它运行良好。 不过,我至less考虑试用RabbitMQ。 但在此之前,我想了解以下内容: RabbitMQ与ActiveMQ有什么不同? RabbitMQ比ActiveMQ做得更好还是更差? 比较而言,RabbitMQconfiguration有多么简单/困难? RabbitMQ与Spring的整合程度如何? 使用ActiveMQ,我只需将一个连接工厂Bean连接到一个JmsTemplate然后使用DefaultMessageListener bean将队列连接到它们各自的处理程序。 我可以用RabbitMQ做同样的事吗?

RabbitMQ:与话题交换的持久消息

我对RabbitMQ很新。 我已经build立了一个“话题”交stream。 消费者可以在出版商之后开始。 我希望消费者能够接收已经发送的消息,而这些消息尚未被消费。 交易所设置了以下参数: exchange_type => 'topic' durable => 1 auto_delete => 0 passive => 0 消息使用此参数发布: delivery_mode => 2 消费者使用get()从交换中检索消息。 不幸的是,任何客户端之前发布的消息都将丢失。 我使用了不同的组合。 我想我的问题是,交stream不举行消息。 也许我需要在发布者和队列之间有一个队列。 但是这似乎并不适用于通过密钥路由消息的“主题”交换。 任何想法我应该如何继续。 我使用Perl绑定Net :: RabbitMQ(不应该)和RabbitMQ 2.2.0。

在哪些领域是消息导向中间件如AMQP有用?

MOM(面向消息的中间件)解决什么问题? 可扩展性? 积分? 他们通常使用哪个域名,哪些域名通常不被使用? 比如说,谷歌是使用这种解决scheme的主要search引擎还是为Gmail提供动力? 沃尔玛,eBay,联邦快递(几乎是一个Java商店)和buy.com(几乎是一个MS商店)的大网站呢? 妈妈在那里解决需求吗? 当你编写一个Web应用程序来控制服务器端并且拥有一个同类的环境(比如数十个运行Linux + Java JVM的Amazon EC2实例),并且客户端在哪里,Web浏览器? 对于需要与服务器通信的桌面应用程序有意义吗? 或者,对于大型企业来说,只有通常需要以各种方式进行通信的无数不同系统的快乐组合才是“唯一”的。 我有点困惑,他们有什么用处,我认为,例如他们适当的地方,他们不适当的地方,我可以更好地了解他们的使用。