![画像](https://habrastorage.org/getpro/habr/post_images/40a/a32/af4/40aa32af40ee668bb6652461ab96f1ee.png)
ゲームプレイは、 リスクゲームのカジュアルなバリエーションです。 すべてが汚い、世界を引き継ぎ、勝者になります。 会いましょう : gumwars.com
タックル-App Engineでの実装の詳細とサポートコストの計算。
技術的な実装
スクリーンショットでわかるように、クライアント側はGoogle Maps APIに実装されており、リスクゲームの視覚化に最適です。 サーバー側では、すべてがより複雑です。
App Engineは最大30秒間接続を保持できますが、一度に処理できるのは最大30の接続のみです。 そのため、App Engineでの長いポーリングはなくなり、定期的なポーリングが残ります。 このソリューションは効果的ではありませんが、最初はこのような条件下でApp Engineがどのように動作するかを確認したかっただけでなく、これは素晴らしいクラッシュテストです。 そのため、各ユーザーは毎秒1つのリクエストを生成します。
サポートコストの計算とポーリングのためのApp Engineの関連性
このすべてが実験です。 そして、この実験はまだ終わっていません。聴衆に追いつき、プラットフォームが十分な負荷でどのように動作するかを確認したいと思います。 それでも、いくつかの予測された計算。
イベントの1000リクエストの範囲は約0.001〜0.002で、ゲームは1人のクライアントから1時間あたり約3600リクエストを受け取るため、ゲームの1時間あたり約0.0072ドルのコストがかかります。 ただし、これらの計算はかなりarbitrary意的です。
計画
将来的には、その結果について小さなレポートを書く予定です。 また、後でポーリングの実装に磨きをかけ、独立したオープンソースライブラリ(pythonとjsの部分)として公開したいと思います。
もちろん、App EngineのWebSocketsサポートを待っています。
PS。