2017-04-09 124 views
3

雖然通過文檔瞭解了AWS中的這兩層環境,但無法找到它們之間的任何比較。在文檔中建議的事情是,應該爲長時間運行的任務選擇工作環境(以提高Web層的響應速度)。 我有幾個問題來澄清我的疑惑 1. 兩層如何彼此不同? (關於執行不同的操作,可用的服務等) 2. 兩者如何相互溝通? (如果我開發了Web層我的前端應用和後端的 工人層)AWS beanstalk中工作層和Web層之間有什麼區別

回答

3

在我看來,最重要的區別是,工人層實例不運行的Web服務器進程(Apache的, nginx等)。因此,他們不直接回應客戶的要求。相反,它們可以用來從Web層卸載長時間運行的進程。

層之間通過SQS溝通。當您的Web實例需要產生後臺作業時,它會將消息發佈到具有作業詳細信息的共享隊列中。在worker實例上運行的守護進程會從隊列中讀取項目並將消息發佈到您的應用程序在http://localhost/上公開的端點。

話雖如此,我認爲網絡/工作者體系結構可能會在你描述的「前端/後端」術語中矯枉過正。您的Web層完全能夠運行Web服務器和應用程序服務器。但是,如果您對後臺或異步處理有要求,那麼添加工作層可能有意義。

相關問題