我为微服务开发了两个 Spring Boot 应用程序,并使用 ECS 将这些应用程序部署到容器中。为此,我遵循了官方宠物诊所示例(https://github.com/aws-samples/amazon-ecs-java-microservices/tree/master/3_ECS_Java_Spring_PetClinic_CICD)。一切似乎都正常工作,但是当我经常向 ALB 发出请求时,我会收到 502 或 503 HTTP 错误,并且有几次我可以看到应用程序的正确响应。有人能帮我吗?提前致谢。
问问题
57 次
1 回答
0
当您没有运行健康的任务时,您会收到 502,而当任务正在启动/重新启动时,您会收到 503。
所有这一切都意味着您的任务已停止,然后您的集群重新启动它,因此您应该找到导致任务失败的原因。
它可能是直接在你的代码中导致它崩溃的东西。或者它可能是您的目标组中定义的集群运行状况检查失败。
首先,您应该在 AWS ECS 控制台中查看您的任务,并查看您的任务在停止时收到的错误。
但是因为你可以提出请求一段时间然后它失败了。我很确定您的问题来自您的健康检查。因此,进入任务使用的目标组(在 AWS EC2 控制台中)并确保配置的运行状况检查路径存在并返回 200 状态代码。
于 2019-09-04T13:09:52.520 回答