如何在aws lambda中实现电路模式

How to implement circuit pattern in aws lambda

我正在 aws lambda 中实现一个 HTTP 客户端。客户端将调用第三方微服务端点,这可能会发生故障。我想实现一个断路器模式,以获得该模式的明显优势。

我在网上搜索了一下,发现了一个博客:https://www.jeremydaly.com/serverless-microservice-patterns-for-aws/

根据博客,我们可以在Elasticache或dynamoDB中维护状态。但是我无法想象实现。有人能指出我正确的方向吗?如果实现在 JAVA 中,那就太棒了。

您可以尝试使用 Amazon SQS 死信队列来模拟断路器模式。使用 Lamda,您可以指定死信队列,然后在进行下一次调用之前,您可以在进行下一次调用之前检查队列中是否有消息。

List<Message> messages = sqs.receiveMessage(deadLetterQueueUrl).getMessages();
if (messages.Count > 0) return response;

您需要存储断路器的状态,通常是一个 java 变量。但是现在您将状态存储在外部持久性服务中,例如dynamodb 并在 java 中检查是否打开或关闭断路器。