5

おそらく、サーバー上で画像操作が行われるビデオストリーミングを使用して、トラフィックの多いチャットWebサイトを作成しようとしています。

Channel API (http://code.google.com/appengine/docs/python/channel/overview.html) をスキャンすると、AJAX ポーリングなしでこれを実行できることが期待されます。GAE は非常にスケーラブルであるというのが一般的な意見です。 .

私はまだいくつかの懸念があります:

1) 遅れることなくリアルタイムで相互に対話する何万もの同時ユーザーをサポートできますか? CPU使用率に上限はありますか?

2) 私は (おそらく) J2EE フレームワークの上にそれを書きます。GAE は、アプリケーションがサーバー (Java 用語では「ServletContext」) で実行され、おそらくギガバイトのデータを格納している限り、新しい要求ごとにグローバルなメモリ内データストアにアクセスできることを保証しますか? メモリー上限はありますか?

3) 完全な J2SE および J2EE スタックが利用可能になりますか? 希望するライブラリだけを含めることはできますか?

4) この種の問題に対して、GAE よりも優れた解決策はありますか? 数台の専用サーバーをレンタルすることを考えていましたが、これは数千/月になります...

前もって感謝します!

4

3 に答える 3

5

質問に順番に答えるには:

  1. はい、何万人もの同時ユーザーをサポートできます。ただし、ユーザー イベントごとに 10,000 の更新を展開することは、あまり実用的ではありません。CPU は課金クォータであるため、使用量に対して支払う限り上限はありません。
  2. App Engine データストアはインメモリではなくオンディスクです。アプリはデータストア (永続的) と memcache (メモリ内ですがキャッシュ) にアクセスできます。どちらも、インスタンスだけでなく、アプリ全体でグローバルです。CPU クォータと同様に、明確な上限はありません。料金に見合ったものを手に入れることができます。
  3. サンドボックスにとって安全ではない一部の機能を除外するコア JRE クラスのホワイトリストがあります。それ以外は、好きなように実行できます。
  4. ビデオ ストリーミングを除いて、App Engine はあなたのアプリに非常に適していると思います。現在、そのための App Engine ベースのソリューションはありません。そのため、外部サービスを使用する必要があります。App Engine の主な利点は、使用量に応じてコストが増減するため、使用した分だけ支払うことです。
于 2011-03-29T04:55:59.920 に答える
4

まず、無料版と有料版があることに注意してください。追加のクォータの料金を支払うと思いますか?

  1. CPU使用率には確かに上限があります。あなたのアプリケーションが GAE に適しているとは思えません。クォータについては、このページをお読みください。ビデオ処理を行っている場合、おそらく数分以内に 1 日の CPU 上限に達していることに気付くでしょう。何万人ものユーザーをサポートすることはできません。(たぶん、有料版の方が長持ちするかもしれませんが、約 1 桁しか長くなりません - 私はまだそれは不可能だと思います)。
  2. データストア サイズの上限も確認してください。1GB は無料で、それ以上は料金を支払う必要があります。グローバル メモリ空間へのアクセス権はありませんが (各要求は異なるサーバーによって処理される可能性があります)、グローバル データストアへのアクセス権はあります。
  3. 使用できるライブラリには制限があります。JRE クラスのホワイトリストを参照してください。そのリストにない場合は、利用できません。もちろん、純粋な Java で記述されている場合は追加のライブラリを含めることができますが、ネイティブ コードを使用する場合は含めることができません。
  4. はい、もっと良い解決策があると思います。

GAE は、ビデオ ストリーミングのような高パフォーマンスの処理を行うのではなく、小規模から中規模レベルのインタラクティブな Web サイトを実行することを目的としています。悲観的で申し訳ありませんが、私が提供した情報とリンクからあなた自身の決定を下すことができます.

于 2011-03-29T04:44:32.850 に答える
0

チャネル API について: メッセージ サイズの制限に注意してください:「メッセージは 32K に制限されています」。おそらく、ビデオ ストリームを小さなチャンクに分割することは可能かもしれませんが、あまり実用的でも実行可能でもないと思います。また、クライアントが元のストリームを構築し直すために。その場合、標準の Flash Player などは使用できません。

于 2011-09-29T11:17:32.920 に答える