Amazon web services Spring云或Netflix OSS与AWS或Azure云如何结合,以提供基于微服务的解决方案

Amazon web services Spring云或Netflix OSS与AWS或Azure云如何结合,以提供基于微服务的解决方案,amazon-web-services,microservices,saas,spring-cloud-netflix,paas,Amazon Web Services,Microservices,Saas,Spring Cloud Netflix,Paas,我有一些关于Spring云或Netflix OSS和AWS或Azure云如何结合在一起以提供基于微服务的解决方案的疑问。 如果我们想使用容器化(Docker)和容器编排(Docker Swarm或Kubernetes)在AWS中部署基于spring云的微服务解决方案,那么技术架构将是什么样子 下面列出的组件如何在AWS或Azure中组合在一起。 -Netflix Ribbon(负载平衡) -Netflix Zuul(路由) -Netflix Hystrix(断路器) -Netflix Eurek

我有一些关于Spring云或Netflix OSS和AWS或Azure云如何结合在一起以提供基于微服务的解决方案的疑问。 如果我们想使用容器化(Docker)和容器编排(Docker Swarm或Kubernetes)在AWS中部署基于spring云的微服务解决方案,那么技术架构将是什么样子

下面列出的组件如何在AWS或Azure中组合在一起。 -Netflix Ribbon(负载平衡) -Netflix Zuul(路由) -Netflix Hystrix(断路器) -Netflix Eureka(服务发现) -Spring云安全(身份验证和授权)

例如,AWS有自己的内容交付网络(Amazon CloudFront),AWS有自己的API网关,负责负载平衡、路由以及身份验证和授权


现在,如果我使用Netflix OSS和Spring Cloud创建微服务,那么如何使用容器化将其整合到AWS中?

Netflix堆栈构建为自给自足运行,而无需云提供商提供任何托管服务。因此,您可以选择:

  • 在AWS/Azure上租用一堆虚拟机,自己部署完整的netflix软件堆栈。(仅将AWS用作基础设施提供商,IAAS)
  • 仅使用AWS/Azure托管服务,不使用netflix组件(例如,AWS负载平衡器代替Ribbon,AWS API网关代替Zuul,AWS Kubernetes用于容器托管/服务发现,AWS Cognito代替Spring Security等)。这意味着您将使用AWS作为基础设施(IAAS加PAAS、SAAS)之外的平台和软件服务提供商
  • 或者这两种情况的任意组合。例如,使用AWS进行负载平衡,但在应用程序前面的自己的EC2实例上部署一些Zuul网关
  • 总的指导原则是——您自己管理的体系结构的任何平台或软件元素的基线成本都会更低,但会增加额外的设计/开发/管理成本。什么最适合您取决于您的使用场景、可伸缩性预期、资源可用性等

    听起来您可以从学习IAAS、PAAS和SAAS的差异中获益。看这个

    关于你的问题:

    现在,如果我使用Netflix OSS和Spring Cloud创建微服务,那么如何使用容器化将其组合到AWS中


    一种合理的方法是使用AWS Kubernetes(或AWS ECS)作为容器托管基础设施,然后将您仍然需要的Netflix和Spring组件部署为容器。对于Kubernetes和ECS,您已经具备了负载平衡、服务发现和更多内置功能(请参见此)。因此,您必须仔细查看每一个Netflix组件,并确定它是否真的包含您需要的功能,以及容器平台是否还未涵盖这些功能。

    请看,这一领域的技术基本上存在重叠,您必须做出选择。非常感谢Oswin Noetzelmann提供如此详细的答复。