ele*_*nor 3 google-app-engine android cluster-computing rabbitmq
我正在编写一个实时交换消息的实时移动游戏,我想知道我应该选择什么:RabbitMQ或GAE.我知道GAE是一个有效的解决方案,因为几乎所有东西都已经实现,所以我的编程速度更快,但从长远来看,我不知道我是否愿意支付那些真正高价的东西 - 所以它归结为实施我自己的服务器上的其他一些消息交换服务,所以我在考虑RabbitMQ.
令我担心的是RabbitMQ节点可以添加到集群中,但如果GAE使用1.000个实例,那么处理相同负载需要多少RabbitMQ节点,因为我真的不希望在一个节点中拥有1.000个节点集群,这意味着我必须租用1.000 VPS.
所以,这就是为什么我要确定处理100万用户需要多少兔子节点(在集群中).我正在尝试将其与Google Appengine Instances进行比较.假设我在GAE上的应用程序应该处理以下内容: - 10.000个请求/秒 - 运行1000个实例
我知道我们无法真正比较这些,但无论如何我们都要做.我想知道以下问题:
1.我想处理10.000个请求/秒(每个请求需要一个至少需要1-10分钟的永久连接):
a)为了可行,需要多少个GAE实例?
b)RabbitMQ需要群集中有多少个节点才能工作?
2.我希望与具有1.000 GAE实例的RabbitMQ进行比较:
a)1个GAE实例与RabbitMQ中的1个群集节点相比可以做多少工作?
你会选择什么:
a)我知道你们都会说GAE,因为它很容易,已经准备好等等.
b)但是,我们是否愿意支付所有这些费用.更何况,谷歌有一定的限制,笔者在这里谈论他们:http://www.carlosble.com/2010/11/goodbye-google-app-engine-gae/.
感谢所有有价值的答案
GAE与RabbitMQ不具有可比性,因为您的问题几乎没有意义.RabbitMQ只是消息传递,您很可能必须设置更多基础架构来支持您的用例.GAE是一个完整的基础设施.也就是说,RabbitMQ每秒可以处理大量的消息.
也许你想为手机游戏连接一个API,以及一些应用程序逻辑来处理这些消息.您不会让游戏客户端连接到您的RabbitMQ服务器并直接与其他客户端通信.
在GAE上,您通常会有请求和即时回复.如果您需要持续时间更长的连接并允许您将消息推送到游戏客户端(不使用APN等),您可能需要考虑XMPP或websockets,因此除了GAE之外还需要其他东西,或者代替GAE.Cloud Endpoints也可能值得一看.
博客文章中提到的一些限制现在已经解决.
我认为您需要更多地了解您的需求和架构,并且当您这样做时,您将更好地了解技术选择.选择像RabbitMQ这样的特定AMQP服务器是您在决定使用消息传递,如何使用消息传递,看到AMQP作为消息传递解决方案(ZeroMQ,XMPP是一些替代方案)之后做出的决定,并且需要找到快速有效的AMQP服务器.
| 归档时间: |
|
| 查看次数: |
721 次 |
| 最近记录: |