【问题标题】:RabbitMQ vs GAERabbitMQ 与 GAE
【发布时间】:2012-07-05 04:58:06
【问题描述】:

我正在编写一个实时交换消息的实时手机游戏,我想知道我应该选择什么:RabbitMQ 或 GAE。我知道 GAE 是一种有效的解决方案,并且使我的编程速度更快,因为几乎所有东西都已经实现,但从长远来看,我不知道我是否愿意支付那些非常高的价格 - 所以归结为实现我自己的服务器上的一些其他消息交换服务,所以我正在考虑 RabbitMQ。

让我担心的是 RabbitMQ 节点可以添加到集群中,但是如果 GAE 使用 1.000 个实例,那么处理相同负载需要多少个 RabbitMQ 节点,因为我真的不想有 1.000 个集群中的节点,这意味着我必须租用 1.000 VPS。

所以,这就是为什么我试图确定处理 100 万用户需要多少个 rabbitmq 节点(在一个集群中)。我正在尝试将其与 Google Appengine 实例进行比较。假设我在 GAE 上的申请应处理以下内容: - 10.000 个请求/秒 - 1000 个实例正在运行

我知道我们无法真正比​​较这些,但还是让我们这样做吧。我想知道以下问题:

1.我想处理 10.000 个请求/秒(每个请求需要是至少需要 1-10 分钟的永久连接):

a) 需要多少个 GAE 实例才能实现?

b) RabbitMQ 需要在集群中多少个节点才能工作?

2。我想与具有 1.000 个 GAE 实例的 RabbitMQ 进行比较:

a) 与 RabbitMQ 中的 1 个集群节点相比,1 个 GAE 实例可以做多少工作?

3。你会选择什么:

a) 我知道你们都会说 GAE,因为它真的很容易,已经准备好了,等等。

b) 但话说回来,我们是否愿意支付所有这些费用。更不用说谷歌有一些限制,因为作者在这里谈论它们:http://www.carlosble.com/2010/11/goodbye-google-app-engine-gae/

感谢所有宝贵的答案

【问题讨论】:

    标签: android google-app-engine cluster-computing rabbitmq


    【解决方案1】:

    GAE 无法与 RabbitMQ 相提并论,以至于您的问题几乎没有意义。 RabbitMQ 只是消息传递,您很可能必须设置更多基础架构来支持您的用例。 GAE 是一个完整的基础架构。也就是说,RabbitMQ 每秒可以处理大量的消息。

    也许您想为移动游戏创建一个 API 以连接到这些消息,以及一些应用程序逻辑来处理这些消息。您不会让游戏客户端连接到您的 RabbitMQ 服务器并直接与其他客户端对话。

    在 GAE 上,您通常会收到请求并立即回复。如果您需要持续时间更长的连接并允许您将消息推送到游戏客户端(不使用 APN 等),您可能需要考虑 XMPP 或 websockets,因此除了 GAE 之外,您还需要其他东西。 Cloud Endpoints 也值得一看。

    博客文章中提到的一些限制现在已经解决。

    我认为您需要更多地处理您的需求和架构,并且当您这样做时,您将对技术选择有更好的了解。选择像 RabbitMQ 这样的特定 AMQP 服务器是您在决定使用消息传递、如何使用消息传递、看到 AMQP 作为消息传递解决方案(ZeroMQ、XMPP 是一些替代方案)之后做出的决定,并且需要找到一个快速高效的AMQP 服务器。

    【讨论】:

    • 嗨。首先让我说是的,我们不能真正将 GAE 与 RMQ 进行比较,但我仍然想知道关于 GAE 实例的更详细的答案——它们每个实例有多强大,与 RMQ 相比它可以处理多少请求.是的,我已经决定使用消息传递,但现在我必须确保它可以像 GAE 一样漂亮地扩展。
    • 一些没有任何可靠数据支持的无用和不准确的思考:GAE 实例每秒可能处理 1 到 400 个请求,具体取决于并行度、IO 使用情况以及您对平台的适应程度.单个 RMQ 实例每秒可能处理 4000 到 20000 条消息,您可以设置更多集群。
    • 嗨 tesdal,如果你能想出一个真正的答案,从而尽可能准确地回答一些数字(可能是 CPU/RAM/磁盘比较),我会非常高兴接受你的回答,因为这正是我要问的。顺便说一句:您已经提供的数字确实是我想要的。谢谢。
    【解决方案2】:

    这是一个在 EC2 上使用 RMQ 并报告“RabbitMQ 在 m1.xlarge 上执行 28k/sec 输入输出直接消息传递,70k/sec fanout”的人。

    https://twitter.com/rbranson/status/220399933583396865

    【讨论】:

    • 您好,答案对您来说真的不麻烦。您可能应该比较我提到的两种技术,而不仅仅是发布一些 Twitter 提要的链接。
    猜你喜欢
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多