我的壓力,現在測試我的後臺,似乎當我做了很多電話在短時間內我打的線程拉姆達限制,並得到了以下錯誤:如何決定在AWS的SNS,SQS或Kinesis之間排隊調用我的lambda函數?
"errorMessage":"unable to create new native thread","errorType":"java.lang.OutOfMemoryError
目前我的架構像這樣:
(API網關) - >(波長) - >(DynamoDB)
我想,以避免上述問題的最好辦法是實施排隊。我在網上讀到,這可以通過一系列不同的方式完成,即通過SNS,SQS和Kinesis。這些將會是:
A)最適合我當前的體系結構要求最小的集成?
B)並能解決我的線程問題?
C)爲什麼?
謝謝
您可以在Lambda函數上配置多少內存?你最多可以運行1536MB嗎? JMV沒有足夠的可用內存來創建新線程。 – hellomichibye
起初我以爲這是個問題,所以我把我的內存限制從512MB提升到了1024mb,並且它似乎沒有改變一件事情。思考? @hellomichibye –
我不會就此進一步發表評論,因爲我已經[已經提到](http://stackoverflow.com/q/39500938/1695906)可能的解釋,並沒有得到任何反應 - 你的容器正在被重用,你沒有不正確地清理東西。這是唯一合理的解釋,爲什麼只有在短時間內有多個調用時纔會遇到問題。 –