我正在编写一款实时移动游戏,需要进行实时消息交换,但不知道该选择RabbitMQ还是GAE。我知道GAE是一个有效的解决方案,可以让我的编程速度更快,因为几乎所有东西都已经实现了,但从长远来看,我不知道是否愿意支付那些非常高昂的费用——因此我考虑在自己的服务器上实现其他消息交换服务,所以我正在考虑RabbitMQ。
令我担忧的是,RabbitMQ节点可以添加到群集中,但如果GAE使用1000个实例,处理相同负载需要多少个RabbitMQ节点,因为我真的不想在集群中有1000个节点,这意味着我必须租用1000个VPS。
因此,我试图确定需要多少RabbitMQ节点(在群集中)才能处理100万用户。我正在尝试将其与Google Appengine实例进行比较。假设我的GAE应用程序应处理以下内容:
- -每秒10,000个请求
- -1000个运行实例
我知道我们不能真正比较这些,但无论如何,让我们做一下吧。我想了解以下问题:
1. 我想处理10,000个请求/秒(每个请求需要一个持久连接,需要至少1-10分钟):
a) 需要多少GAE实例才能做到这一点?
b) 需要多少RabbitMQ群集中的节点才能工作?
2. 我想与1000个GAE实例的RabbitMQ进行比较:
a) 1个GAE实例与1个RabbitMQ群集节点相比能做多少工作?
3. 你会选择哪个:
a) 我知道你们都会说GAE,因为它非常容易使用,已经准备好了等等。
b) 但换个角度,我们愿意支付所有这些费用吗?更不用说Google有一些限制,就像作者在这里讨论的那样:http://www.carlosble.com/2010/11/goodbye-google-app-engine-gae/。
感谢您提供的宝贵答案。