何时在 Spring 引导中使用自定义上下文路径而不是根上下文



对于 Spring Boot 应用程序,使用自定义上下文路径而不是根上下文有什么好处吗?

许多微服务的访问中没有 URL 中的自定义上下文路径,而另一个微服务则没有。

由于 Spring Boot 最初只加载一个 Web 容器,因此当我们有许多 Web 应用程序运行到同一个 http 端口时,我们不会有与 Tomcat 相同的行为。

在这种架构中,这两种情况有什么区别?

提供自定义上下文路径可使服务更可重用。如果选择默认上下文"/",则与自定义上下文相比,您更有可能与尝试使用该上下文的另一个服务发生冲突。更不用说,它使服务(IMO)的用途更加人性化和直观。

基本上是你自己说的。如果您打算在同一台物理服务器上运行多个服务,则必须更改每个 Spring Boot 应用程序的 Tomcat 端口(假设您使用的是嵌入式 Tomcat)。如果您没有使用嵌入式 tomcat,那么在同一台服务器上安装多个 Tomcat,每个都有不同的端口,您会获得更多乐趣。

当然,您可以决定每个物理服务器仅运行一个应用程序,并使用 DNS 提供一个漂亮的 URL 路径,该路径将映射到特定的服务器 IP。这样可以避免冲突,但似乎非常浪费资源,而且更难维持。

最新更新