0

java-appengine をバックエンドとして使用して、オンライン ゲームを作成します。// websocket を使用する私のゲームでは、チャネル API を使用しますが、一部のオブジェクトはアプリケーションで永続化する必要があります。

  • 静的オブジェクトは良いですが、appengine ではインスタンスの start-stop を管理できないため、悪いです
  • - Memcache は同じですが、exp のタイミングを制御できません (exp にならないようにする方法はありますか?)
  • - データストアは非常に遅く、高価です

appengine Javaでゲームオブジェクトを保存するソリューションを探しています

4

2 に答える 2

1

バックエンドで実行できますが、実際にはスケーリングしません。

おそらく行う必要があるのは、App Engine が実際にゲームの構築に使用したいプラットフォームであるかどうかを判断することです。データストアのパフォーマンスが十分でない場合は、おそらく別のアーキテクチャが必要です。ほとんどの場合、より伝統的なクライアント/サーバー アーキテクチャが必要です。

また、ゲームのアーキテクチャに関する情報がこれ以上ないため、質問に答えることは非常に困難です。

于 2012-06-04T04:40:24.720 に答える
0

Memcached が最適な方法であり、それを制御することはできませんが、アプリ エンジンを使用する場合は妥協が必要です。Python で Memcache を使用した私の経験では、ほとんどの場合、インスタンスが実行されている間はキャッシュが有効です。近いインスタンス間であっても、それほど頻繁に期限切れになることはないようです。ログを確認すると、通常、Memcache が期限切れのオブジェクトを作成しているのは、インスタンス間にかなりの時間 (1 時間以上) がある場合のみです。

Java と Python の両方でコードをプロファイリングする必要があります。起動時間が短い Python の方がアプリケーションにより適している可能性があります。または、Java を使用する必要がある場合は、いくつかのアイドル状態のインスタンスを保持して、起動の遅延なしで要求を処理できるようにすることができます。Cron タスクを使用して memcache を最新の状態に保つことができる場合があります。コードは通常それほど機密ではないため、まだ試していません。

于 2012-06-04T16:39:42.277 に答える