簡體   English   中英

跟蹤多個 AWS SQS 隊列上的消息

[英]Tracking a message on multiple AWS SQS queues

我有大約 3 個 AWS Lambda 函數采用以下形式:

  • Lambda函數1:從SQS隊列中讀取,將Message放入SQS隊列(傳入和傳出的消息格式不同)
  • Lambda 函數 2:從 Lambda 函數 1 讀取消息,並將 Message 放入 SQS 隊列(傳入和傳出消息格式不同)
  • Lambda 函數 3:從 Lambda 函數 3 讀取消息,並更新存儲。

涉及到3個隊列,每個隊列中的消息格式(結構)不同,但是它們有一個uniqueId ,它們是相同的,可以相互關聯使用。 這么多問題是,在 SQS 或其他一些工具中是否有任何方法來跟蹤消息,我特別關注的是:

  • 消息進入隊列的時間
  • Lambda 函數處理消息的時間

我的問題是 3 個 Lambda 函數在幾毫秒內單獨執行,但端到端執行所需的時間太長,我懷疑消息在傳輸過程中花費的時間太長。

我對優化的任何其他想法持開放態度。

AWS Step Functions專為在 Lambda 函數之間傳遞信息和編排整個過程而設計。

但是,您需要更改編寫函數的方式以利用 Step Functions。

由於您唯一真正的願望是探索為什么“時間太長”,那么AWS X-Ray 應該是收集這些信息的好方法 它可以通過每個流程端到端地跟蹤單個事務。 我認為這只是包括一個庫和激活 X 射線的問題。

請參閱: AWS Lambda 和 AWS X-Ray - AWS X-Ray

或者,只需開始在日志文件中進行一些手動調查 日志顯示每個函數運行所需的時間,因此您應該能夠確定所花費的時間是否特定的 Lambda 函數內,或者時間是否花費函數之間,等待它們觸發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM