Are API Gateway Websocket APIs treated as asynchronous?

0

Hi,

I'm looking at setting up a Websocket API, with a Lambda as the message handler.

If my Lambda can't scale up quick enough, what happens? Will the messages be retried by API Gateway? Will the client think the message worked, or will they get an error? And if retries happen, how many - is there any possibility the message will get lost and I won't know about it?

Thanks for the help. Excited to try this!

已提问 4 年前547 查看次数
2 回答
1

Unless you configure the route as two-way, client to WebSocket API is one-way. In the case, when Lambda invocation is failed, the client will not receive anything. If you configure the route as two-way, the client will receive the error response.
Alternatively, you could configure the route one-way and make your Lambda to send ACK message to the client. In this case, you need to handle when the client doesn't receive the ACK in a given amount of time.

API Gateway doesn't retry for the message. You may use SQS for the better reliability and re-drive the message.
Client - API Gateway - SQS - Lambda

But still client-side retry is also recommended since API Gateway to SQS can be failed as well.

AWS
已回答 4 年前
0

Thanks for the reply! It's good to know that we only get one try at sending the message.

已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则