我有一个带有两个后端服务的 Web 应用程序:
一个在 AWS Lambda 上运行,另一个在 Docker 上运行 目前,我希望我的前端(用 React 构建)能够:
理想的流程是,如果前端无法连接到 Lambda(超时或错误后),则应尝试使用 Docker 后端。但是,我不确定这种在前端处理故障转移的方法是否有效或最佳实践。
像这样在前端处理后端故障转移是个好主意吗?我该怎么做才能确保我的网站不会因服务器故障而停机。
我正在考虑将两个后端 URL 存储在前端中。首先尝试从 Lambda 后端获取数据。如果请求失败,切换到Docker后端重试请求。将 Lambda 保留为未来请求的默认值,除非再次失败。但这似乎不是最好的解决方案。
健康检查:
lightweight health check
机制
定期检查两个后端的可用性。Lambda
后端始终不可用,请切换到
Docker
后端用于所有后续请求,直到其恢复。您可以使用 API 网关 将请求路由到可用的后端,从前端抽象故障转移逻辑。这使得架构更加清晰,并且可以提供内置的故障转移功能。
health checks
并且可能使用 API Gateway
可以增强
可靠性和可维护性。