Google App Engineでのポーリングの実装

Pythonで書いた小さなおもちゃを宣伝したいのですが、PythonはApp Engineをプラットフォームとして使用し、定期的なポーリングで彗星を実装しました。

画像

ゲームプレイは、 リスクゲームのカジュアルなバリエーションです。 すべてが汚い、世界を引き継ぎ、勝者になります。 会いましょう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。 残念ながら、「I PR」ブログにはカルマはありません。 「私はPRです」に移動しました。



All Articles