如何集成AWS+;ELB&x2B;自动缩放&x2B;Docker&x2B;春云

如何集成AWS+;ELB&x2B;自动缩放&x2B;Docker&x2B;春云,docker,spring-boot,amazon-ec2,spring-cloud,Docker,Spring Boot,Amazon Ec2,Spring Cloud,我想设计一个应用程序,使用AWS作为IAAS,Docker作为PAAS,Spring Boot和Spring cloud作为应用程序技术 为此,我在谷歌上搜索并阅读了很多博客和视频,但找不到任何答案 我使用SpringBoot和SpringCloud技术开发了一个应用程序,应用程序架构如下图所示 这种设计看起来很好,按照预期工作良好。 现在的新任务是,我需要使用云(AWS)作为基础设施和Docker。 为此,我又设计了一个架构,如下图所示 组成部分如下: ELB-(弹性负载平衡器)->目标组

我想设计一个应用程序,使用AWS作为IAAS,Docker作为PAAS,Spring Boot和Spring cloud作为应用程序技术

为此,我在谷歌上搜索并阅读了很多博客和视频,但找不到任何答案

我使用SpringBoot和SpringCloud技术开发了一个应用程序,应用程序架构如下图所示

这种设计看起来很好,按照预期工作良好。 现在的新任务是,我需要使用云(AWS)作为基础设施和Docker。 为此,我又设计了一个架构,如下图所示

组成部分如下:

ELB-(弹性负载平衡器)->目标组(自动扩展的一部分)->EC2实例(将根据需要创建更多)

现在,如果我想集成我以前的设计,那么我认为这里不需要Zuul服务器,因为这个负载平衡是由ELB完成的,第二个我也不需要服务发现组件,因为它将由目标AutoScale group完成

我对SpringCloud和AWS基础设施有点困惑

有人能帮我简化一下如何将这些组件集成在一起工作吗

谢谢

为什么要使用AWS的Spring Cloud? 让我们举个例子,当您需要Spring云时,即使您的架构部署在AWS infra上:

假设您的产品服务需要与订单服务通信,在本例中,您将看到SpringCloud实用程序

您看不到SpringCloud的必要性,因为您没有内部通信(在您的服务之间),这是注册服务的角色

为什么选择网关服务(您的体系结构中的Zuul)? 同样,您当前的体系结构不使用(需要)强大的网关模式

假设您的系统需要聚合来自不同服务的多个结果,以响应客户端请求。您可以在Gateway中执行此操作(在您的示例中是Zuul)

使用网关服务的另一个优点是,您可以将其用作系统的统一前门,它允许浏览器、移动应用程序或其他用户界面使用来自多个主机的服务,而无需管理每个主机的跨源资源共享(CORS)和身份验证

重要:
不使用SpringCloud很好,这不是实现微服务体系结构的规则或正确方法。如果您不需要它,请不要使用它。

您好,谢谢您的回答。在我当前的架构中,服务正在相互通信。ProductSerice与OrderService通信,我没有显示它的图表。关于zuul(网关模式)的第二件事,我问道,我想使用zuul,但有点困惑在哪里添加它,因为AWS EBS正在扮演前端网关的角色。如果我想在AWS上使用Zuul,那么正确的方法应该是什么?我想你的意思是。。。添加它是因为AWS ELB正在充当前端网关。您可以在ELB和业务服务之间添加Zuul,或者删除目标组(TG),Zuul将根据实例ID转发请求(如果您使用注册表服务)。您将拥有的唯一TG是网关TG(从ELB到Zuul)。您是否设法将Spring cloud Gateway与ELB集成?我正在尝试构建相同的解决方案,其中ELB将成为SpringCloudGateway中的目标uri,但不确定这是否可行!!