2016-12-01 104 views

回答

1

,你可能需要考慮一些事情包括:

  1. 將調用是異步的?
  2. 如果數量爲concurrent Lambda already reached the limit,會發生什麼情況,調用會成功嗎?

我們使用了SNS方法,並且沒有問題。只是一個意見,這是一個比直接調用更好的選擇,除非有太多的開銷。

0

如果添加另一層間接尋址,您仍然必須處理消息到達速度比您可以處理它們更快的問題,或者碰到Lambda限制。

從LAMBDA文檔:

異步調用 - 如果你的lambda表達式是異步調用,並節流,AWS LAMBDA自動重試長達六個小時的節流事件,有重試之間的延遲。異步事件在用於調用Lambda函數之前排隊。

您可能有一個過程,將不容忍6小時的延遲 - 即。你寧願做一個快速提前發送的消息,這個消息發送速度太快,無法爲流程提供背壓,而不是在答案相關後得到正確的響應。

要回答的真正問題有很多與您的代碼有關。如果您臨時遇到資源限制,您是否對最終的正確答案感到滿意,還是您對失敗的早期預警感到高興?直接從您的代碼觸發事件會讓您承擔隊列管理的所有責任;將消息發送到具有自己的重試和隊列邏輯的系統將迫使您在可能處於最大壓力時學習該系統的怪癖和管理工具。