I am stress testing my backend right now and it seems when I do a lot of calls in a short period of time I hit the threads limit in lambda and get the following error:
"errorMessage":"unable to create new native thread","errorType":"java.lang.OutOfMemoryError
Currently my architecture is like so:
(API Gateway) -> (Lambda) -> (DynamoDB)
I figure the best way to avoid the above problem is to implement queuing. I have read online that this can be done a bunch of different ways, namely through SNS, SQS, and Kinesis. Which of these will:
A) Fit best into my current architecture requiring the least integration?
B) And be able to solve my threading problem?
C) Why?
Thanks