单端口Spring Boot应用程序

时间:2017-10-26 09:12:30

标签: spring-boot server spring-cloud spring-cloud-netflix

目前,我有这样的基础设施。enter image description here 客户端点击负载均衡器并将其循环到我的应用服务器(JBOSS)。因此,在提供REST端点的服务器中部署的服务很少。由于部署是战争,所以每个服务都通过应用程序服务器(传统方式)暴露给单个端口

我计划将我的服务迁移出应用程序服务器(太重)并将其转换为Spring启动应用程序(JAR)。计划是重新调整基础设施,如enter image description here

所以我担心的是当我转换为spring boot jar时,每个服务都会暴露给不同的端口。我不打算更改负载均衡器中的任何端口以避免与客户端发生冲突。

有没有什么方法可以通过识别其上下文根来将服务路由到应用程序上?

(我知道应用服务器可以解决这个问题。但只是想知道其他观点)

2 个答案:

答案 0 :(得分:1)

您可以将NGINX放在Spring-Boot应用程序前面,将每个上下文路径转发到所需的端口。

正如您所说,应用程序服务器可以解决此问题,因此您只需使用NGINX或Apache HTTP Server等其他工具复制此行为。

答案 1 :(得分:1)

由于您计划将应用程序转换为弹簧启动,因此您也可以Netflix Zuul进行操作。

  

Zuul是一项边缘服务,可提供动态路由,监控,弹性,安全性等。

在您的情况下,您不必创建过滤器。您只需创建一个配置,以将请求路由到REST端点。