3

リアルタイムでメッセージを交換するリアルタイム モバイル ゲームをプログラミングしています。RabbitMQ と GAE のどちらを選択すればよいか知りたいです。ほとんどすべてがすでに実装されているため、GAE が機能し、プログラミングを大幅に高速化するソリューションであることはわかっていますが、長い目で見れば、これらの非常に高い代償を支払う意思があるかどうかはわかりません。自分のサーバーに他のメッセージ交換サービスがあるので、RabbitMQ について考えています。

私が心配しているのは、RabbitMQ ノードをクラスターに追加できることですが、GAE が 1.000 インスタンスを使用する場合、同じ負荷を処理するのにどれだけの RabbitMQ ノードが必要になるかということです。つまり、1.000 VPS をレンタルする必要があります。

そのため、100 万人のユーザーを処理するのに (クラスター内の) rabbitmq ノードがどれくらい必要かを判断しようとしています。これを Google Appengine インスタンスと比較しようとしています。GAE 上の私のアプリケーションが以下を処理する必要があるとしましょう: - 10.000 リクエスト/秒 - 1000 インスタンスの実行

それらを実際に比較できないことはわかっていますが、とにかくやってみましょう。次の質問を知りたいです。

1. 10.000 リクエスト/秒を処​​理したい (各リクエストは、少なくとも 1 ~ 10 分かかる永続的な接続である必要があります):

a) それを実現するには、いくつの GAE インスタンスが必要ですか?

b) RabbitMQ が機能するには、クラスター内にいくつのノードが必要ですか?

2. GAE インスタンスが 1.000 の RabbitMQ と比較したい:

a) RabbitMQ の 1 つのクラスター ノードと比較して、1 つの GAE インスタンスはどのくらいの作業を実行できますか?

3. 何を選びますか:

a) 皆さんが GAE と言うのは知っています。なぜなら、それは本当に簡単で、すでに準備が整っているからです。

b) しかし、繰り返しになりますが、私たちはそのすべてを支払う意思がありますか。著者がここで話しているように、Google にはいくつかの制限があることは言うまでもありません: http://www.carlosble.com/2010/11/goodbye-google-app-engine-gae/

すべての貴重な回答に感謝します

4

2 に答える 2

5

あなたの質問がほとんど意味を成さない限り、GAEはRabbitMQに匹敵しません。RabbitMQ は単なるメッセージングであり、ユース ケースをサポートするには、より多くのインフラストラクチャをセットアップする必要があります。GAE は完全なインフラストラクチャです。とは言うものの、RabbitMQ は 1 秒あたり非常に多くのメッセージを処理できます。

モバイル ゲームが接続するための API を作成し、それらのメッセージに対応するアプリケーション ロジックを作成する必要があるかもしれません。ゲーム クライアントが RabbitMQ サーバーに接続して、他のクライアントと直接通信することはできません。

GAE では、通常、リクエストと即時応答があります。より長く持続し、メッセージをゲーム クライアントにプッシュできる (APN などを使用しない) 接続が必要な場合は、XMPP または Websocket を検討することをお勧めします。Cloud Endpointsも一見の価値があるかもしれません。

ブログ記事に記載されている制限のいくつかは、現在解決されています。

要件とアーキテクチャにもっと取り組む必要があると思います。そうすることで、テクノロジの選択についてより良いアイデアを得ることができます。RabbitMQ のような特定の AMQP サーバーを選択することは、メッセージングの使用、メッセージングの使用方法、AMQP がメッセージング ソリューションとして機能すること (ZeroMQ、XMPP はいくつかの代替手段) を確認し、高速で効率的なサーバーを見つける必要があることを決定した後に行う決定です。 AMQP サーバー。

于 2012-07-05T08:53:24.347 に答える
1

これは、EC2 で RMQ を使用し、「RabbitMQ が 28k/秒のインアウト ダイレクト メッセージングを実行し、m1.xlarge で 70k/秒のファンアウト」を報告している人物です。

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

于 2012-07-10T05:34:58.883 に答える