amazon-web-services - Spring Cloud 或 Netflix OSS 和 AWS 或 Azure 云如何结合在一起提供基于微服务的解决方案

标签 amazon-web-services microservices saas spring-cloud-netflix paas

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

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

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

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

最佳答案

Netflix 堆栈旨在自给自足地运行,无需来自云提供商的任何托管服务。所以你可以选择:

  1. 仅在 AWS/Azure 上租用一堆虚拟机并自行部署完整的 netflix 软件栈。 (仅使用 AWS 作为基础设施提供商,IAAS)
  2. 仅使用 AWS/Azure 托管服务,不使用 netflix 组件(例如,AWS Load Balancer 而非 Ribbon,AWS API Gateway 而非 Zuul,AWS Kubernetes 用于容器托管/服务发现,AWS Cognito 而非 Spring Security 等)。这意味着除了基础设施(IAAS 加上 PAAS、SAAS)之外,您还将使用 AWS 作为平台和软件服务提供商。
  3. 或两种情况的任意组合。例如。使用 AWS 进行负载平衡,但在您自己的应用程序前面的 EC2 实例上部署一些 Zuul 网关。

一般准则是 - 由您自己管理的架构的任何平台或软件元素在基准成本方面会更便宜,但会增加额外的设计/开发/管理成本。什么最适合您取决于您​​的使用场景、可扩展性期望、资源可用性等。

听起来您可以从了解 IAAS、PAAS 和 SAAS 的差异中获益。看这个link .

关于您的问题:

Now, if I create microservices using Netflix OSS and Spring Cloud , then how do I put it together in AWS using containerization?

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

关于amazon-web-services - Spring Cloud 或 Netflix OSS 和 AWS 或 Azure 云如何结合在一起提供基于微服务的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004986/

相关文章:

amazon-web-services - AWS : Code deploy installation failed

python - Elastic Beanstalk 不创建 RDS 参数

amazon-web-services - 运行反向代理的 Elastic Beanstalk 上的 TLS

java - Axon - 我的聚合的唯一 ID 是否等于/与我的实体的唯一 ID 相同?

java - 如何在其他模块中使用 gradle 子模块作为库?

图协作工具和邻接表生成

ruby-on-rails - 是否有用于记录用户事件的 SaaS?

mysql - 与 RDS MySQL/Aurora 无服务器集群的 SSL 连接因 Node.js 而失败

javascript - 如何为 SaaS 解决方案贴上白标?

java - jhipster 网关未将请求路由到微服务