如何在我的前端实现 AWS Lambda 和 Docker 后端之间的自动故障转移?

问题描述 投票:0回答:1

我有一个带有两个后端服务的 Web 应用程序:

一个在 AWS Lambda 上运行,另一个在 Docker 上运行 目前,我希望我的前端(用 React 构建)能够:

  1. 使用 Lambda 作为默认后端。
  2. 如果 Lambda 后端不可用,自动切换到 Docker 后端。

理想的流程是,如果前端无法连接到 Lambda(超时或错误后),则应尝试使用 Docker 后端。但是,我不确定这种在前端处理故障转移的方法是否有效或最佳实践。

像这样在前端处理后端故障转移是个好主意吗?我该怎么做才能确保我的网站不会因服务器故障而停机。

我正在考虑将两个后端 URL 存储在前端中。首先尝试从 Lambda 后端获取数据。如果请求失败,切换到Docker后端重试请求。将 Lambda 保留为未来请求的默认值,除非再次失败。但这似乎不是最好的解决方案。

docker aws-lambda server backend downtime
1个回答
0
投票

健康检查:

  • 在前端实现
    lightweight health check
    机制 定期检查两个后端的可用性。
  • 如果
    Lambda
    后端始终不可用,请切换到
    Docker
    后端用于所有后续请求,直到其恢复。

您可以使用 API 网关 将请求路由到可用的后端,从前端抽象故障转移逻辑。这使得架构更加清晰,并且可以提供内置的故障转移功能。

  • 您的方法对于简单的应用程序是合理的,但是添加
    health checks
    并且可能使用
    API Gateway
    可以增强 可靠性和可维护性。
© www.soinside.com 2019 - 2024. All rights reserved.