java - 如何在 Spring Boot 中将 2 个不同 jar 中的 2 个微服务部署到同一个端口
问题描述
我是 Spring Boot 的新手。我已经在某些服务器的 80 端口部署了一个微服务。此服务的 URL 模式根为“/test”。
然后我将不得不将另一个微服务部署到同一台服务器的同一端口中。它的 URL 模式是来自另一个不同 jar 的“/test2”。
是否可以将指向 2 个不同 URL 的 2 个不同 jar 部署到同一个端口?
解决方案
有两种不同的方法可以做到这一点:
1、前面已经提到了使用代理的方式,让用户以为他们运行的是同一个端口,其实不然。Nginx 有一个很好的代理功能,Netflix 的 Eureka 也有 20%。
将您的两个 Spring 应用程序构建为 .war 文件,并将它们部署到应用程序服务器,如(非嵌入式)Tomcat。有一篇关于如何生成 .war 并将其部署到独立 Tomcat 的好博客文章。
将这两个服务放在单独的 Docker 容器中。(但是您仍然需要向外界公开不同的端口,所以这个答案有点作弊。
选项 2 可能是最接近的,而且您仍在 Javaland 中……但这并不是 2018 年在 Spring Boot 中部署事物的最新方式。
推荐阅读
- discord - 列出用户所属的 Guild 频道中的消息
- vue.js - vue-router 查询参数作为带有键的数组
- jquery - using ajax.load() to load Angular 6 index.html template
- c# - Automapper along with generics and mapping missing properties
- forms - 烧瓶重定向不适用于通过 POST 提交的表单
- c# - Unity 3D如何旋转对象以使其基于地平面正确定向?
- python - Python json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0),路径名中有空格
- php - Laravel Excel 垂直居中对齐
- java - JLabel not showing up
- python - 替换嵌套循环