2017-10-17 96 views
0

我正在Google App Engine的標準環境中開發具有微服務體系結構的Flask應用程序。這個應用程序將需要支持激烈的交通爆發,所以它似乎完美的Standard Environment。我的問題是這樣的:Google App Engine標準環境中的gunicorn服務器

在其他環境中,我使用(Heroku的,應用程序引擎靈活的),您必須配置瓶的應用程序使用像gunicorn生產品質WSGI的Web服務器,內置瓶服務器只適合開發。有關於靈活環境的文檔,但不適用於標準。我是否正確地認爲這是因爲標準環境(如app.yaml中配置的那樣)管理請求處理以及gunicorn將以生產就緒的方式執行的所有其他操作?難道真的那麼簡單嗎?

回答

1

是的,這確實很簡單。作爲PaaS,GAE會爲您提供所有相關服務。正如它爲SnapChat所做的那樣,當它增長到1.5億用戶時(是的,在GAE上託管)。

觀看「App Engine Architecture and Services」和「You Can Run That On App Engine?」。這些描述了其中的一些。傳入的請求首先在GAE前端服務器的隊列中捕獲。它從那裏決定如何處理它。如果您的應用程序實例沒有運行,它會啓動一個,然後將請求傳遞給它。如果一個實例正在運行並且不是太忙,它會立即將請求傳遞給它。如果所有正在運行的實例都處於忙碌狀態,它將保留該請求,直到某個實例能夠接受另一個請求。如果請求位於前端隊列中的時間太長(基於您可以設置的參數),GAE將啓動更多實例來處理積壓。

使用GAE,您的應用程序現在可以在負載平衡器,前端請求排隊服務器,邊緣服務器,自動擴展應用程序服務器,私有全球光纖網絡等環境中運行。這意味着所有「生產質量「擔心會導致你在自行設計的服務器上使用gunicorn等等,而不是GAE的谷歌智能工程師處理的。

由於您正在尋找微服務,因此您可能還想在GAE文檔中閱讀Microservices Architecture on Google App Engine

相關問題