Java 在微服务体系结构中服务静态内容

Java 在微服务体系结构中服务静态内容,java,spring,amazon-web-services,nginx,microservices,Java,Spring,Amazon Web Services,Nginx,Microservices,我正在用微服务架构构建web应用程序,我们决定在Spring Boot和Spring Cloud的基础上构建它,并在AWS上部署在Docker容器上,S3作为图像存储,RDS用于数据 我目前关心的是提供静态内容,如HTML、JS 在微服务中,流行的解决方案是使用API网关作为单个入口点,那么我应该如何提供上述文件呢?一开始,我认为将NGINX放在前面会很有帮助,这样它可以实现负载平衡、路由到所有服务并提供静态内容。但是如果我们选择使用springcloudgateway而不是NGINX作为网关,

我正在用微服务架构构建web应用程序,我们决定在
Spring Boot
Spring Cloud
的基础上构建它,并在AWS上部署在Docker容器上,S3作为图像存储,RDS用于数据

我目前关心的是提供静态内容,如HTML、JS


在微服务中,流行的解决方案是使用API网关作为单个入口点,那么我应该如何提供上述文件呢?一开始,我认为将NGINX放在前面会很有帮助,这样它可以实现负载平衡、路由到所有服务并提供静态内容。但是如果我们选择使用
springcloudgateway
而不是NGINX作为网关,那么如何服务呢?除了NGINX和Spring网关有着相同的用途之外,据我所知,NGINX不仅仅是一个网关。

您可以直接从S3提供文件,只要您的webapp是构建的,这样跨域问题就不会影响Javascript。(在S3中启用CORS可能会有所帮助。)

听起来不错,但如果我想将云提供商更改为Azure,那么我必须在S3上实现类似的解决方案,对吗?还有更多的问题,但我想拥有一个完全通用的解决方案不是一个选项,除非我们使用terraform?不需要改变云提供商。S3文件只需从URL提供服务——它们可以从任何地方访问。