AWS的無伺服器應用服務又加強了,現在旗下的雲端代管訊息佇列服務Amazon Simple Queue Service(SQS),也可以用來驅動AWS Lambda事件。SQS是AWS在2004年時就推出的雲端服務,當時伺服器虛擬化技術尚未發展成熟,而相比之下,2014年才推出的AWS Lambda,已經跟上當今容器、無伺服器應用的熱潮。AWS資深傳教士Randall Hunt表示,現在AWS Lambda支援了Node.js、Java、Go、C#,以及Python等環境。因此,使用者只需小幅度修改程式碼,就能將既有應用部署至AWS Lambda環境執行。

整合AWS Lambda與AWS SQS時,使用者可以在AWS管理主控臺建立新訊息佇列。選用建立標準訊息佇列後,Lambda以後便不會因接收FIFO訊息佇列而觸發。此外,使用者也要前往AWS身份暨存取管理介面( AWS Identity and Access Management,IAM),確保Lambda Functions的角色具備足夠權限,與SQS進行溝通。

而Lambda會根據接收到的系統訊息量,自動水平擴充、水平收縮。當Lambda平臺處理完該批訊息後,這些訊息就會從佇列中移除。反之,萬一處理失敗或是逾時,訊息就會被回傳至佇列。已經使用AWS SQS的企業用戶,AWS會根據既有SQS API呼叫的計價標準收費,但是此項整合AWS SQS及AWS Lambda的新功能,並不會收取額外費用。

整合AWS Lambda與AWS SQS時,使用者可以在AWS管理主控臺建立新訊息佇列。選用建立標準訊息佇列後,Lambda以後便不會因接收FIFO訊息佇列而觸發。圖片來源:AWS

讓SQS驅動Lambda事件發生前,使用者必須前往AWS身份暨存取管理介面( AWS Identity and Access Management,IAM),確保Lambda Functions的角色具備權限,與SQS進行溝通。完成設定後,開發者便可以自行選擇,讓特定訊息佇列驅動AWS Lambda。圖片來源:AWS

而AWS SQS也可和AWS雲端監控及網路服務CloudWatch整合,AWS Lambda收到的訊息、程式碼執行結果,都會儲存在CloudWatch紀錄中。圖片來源:AWS


Advertisement

更多 iThome相關內容