2017-10-17 11 views
0

Google App Engineの標準環境でマイクロサービスアーキテクチャを使用したFlaskアプリケーションを開発しています。このアプリは、激しいトラフィックのバーストを維持する必要がありますので、それはStandard Environmentのために完璧なようです。私の質問はこれです:Google App Engine標準環境のgunicornサーバ

私は(Heroku、App Engine Flexible)を使用した他の環境では、内蔵Flaskサーバは、Flickerのような実働品質のWSGI Webサーバを使用するように設定する必要があります開発にのみ適しています。柔軟な環境のためのこれに関する文書がありますが、標準についてはありません。これは、標準環境(app.yamlで設定されているような)が要求処理と、他のすべての機能を管理していることを前提としています。それは本当に簡単だろうか?

答えて

1

はい、本当に簡単です。 PaaSとして、GAEはあなたのためにすべての世話をします。 SnapChatのユーザー数が1億5000万人に増加した(はい、GAEでホストされています)。

App Engine Architecture and Services」と「You Can Run That On App Engine?」と表示されます。これらはいくつか説明しています。着信要求は、まずGAEフロントエンドサーバーのキューに取り込まれます。そこからそれをどうするかが決まります。あなたのアプリケーションのインスタンスが実行されていない場合は、アプリケーションのインスタンスが起動され、そのインスタンスに要求が渡されます。インスタンスが実行中で、あまりビジーでない場合は、インスタンスに即座に要求が渡されます。実行中のすべてのインスタンスがビジー状態の場合、インスタンスが別の要求を引き継ぐことができるまで要求を保持します。要求がフロントエンドキューに長時間(設定可能なパラメータに基づいて)置かれている場合、GAEはバックログを処理するためにさらに多くのインスタンスを起動します。

GAEを使用すると、アプリケーションはロードバランサ、フロントエンド要求キューイングサーバ、エッジサーバ、自動スケーリングアプリケーションサーバ、プライベートグローバルファイバーネットワークなどの環境で動作します。これは、すべての「生産品質「自力設計されたサーバー上のgunicornなどにつながる心配は、GAEのGoogleのスマートエンジニアによって処理されるだけではありません。

マイクロサービスをお探しの場合は、Microservices Architecture on Google App EngineをGAEのドキュメントで読むこともできます。

関連する問題