【问题标题】:Spring boot microservice( Api Gatway) on awsAWS 上的 Spring Boot 微服务(Api Gateway)
【发布时间】:2021-11-03 08:42:41
【问题描述】:
并尝试在 aws 上部署在 spring boot 中构建的微服务,但不知道哪个 aws 服务适合特定的 spring 微服务(Could Config、Service Discovery、Api Gatway 和 vault)。
我在 Spring Boot 上构建了一个 api 网关服务,但是当谈到在 aws 上部署时,我对 aws api 网关感到困惑。
我们需要两者一起工作吗?或者我们可以在 ec2 实例上设置 springBoot Api 网关。
而且它脱离了上下文但是,我们是否需要单独的 ec2 用于小型服务,例如“服务发现”、“配置服务”等。
谢谢
【问题讨论】:
标签:
amazon-web-services
spring-boot
deployment
microservices
aws-code-deploy
【解决方案1】:
API 网关就像微服务前面的门面,用于与外部服务进行通信。根据请求路由、API 组合(调用多个服务和组合响应)、身份验证、缓存等要求,有多种使用/实现 API 网关的方法。
如果您需要请求路由功能但它无法执行 API 组合,AWS API 网关是很好的选择。在这种情况下,您需要使用 Spring Cloud Gateway 和反应式编程等技术实现自己的自定义 API 网关。
GraphQL 是另一种实现 API 网关的流行技术。
附: - 服务发现是另一个概念。在现实生活中,您将使用 Kubernetes 或 Service Mesh,它们将在内部进行服务注册和发现。
【解决方案2】:
API 网关只是到您的应用程序的一种路由,无论它是托管在无服务器平台上还是 EC2 容器上。
您可以尝试在 AWS Lambda 环境中部署您的 Spring Boot 应用程序,这样您就不必考虑配置服务器环境。在这种情况下,您必须获得应用程序的冷启动。你可以google更多关于如何解决这个问题。