某个系统有很多接口
目前采用的方式是打包成 jar 到服务器上就 java -jar xxx.jar 运行 会弹出黑窗口
如果多个接口一个 jar 那么如果对其中一个接口进行修改,或者说增加接口的话 更新过程中岂不是所有接口都不能调用了?
请教一下各位 问题比较白痴 不是很懂这方面 谢谢回复
1
MikeLei 2020-05-06 14:15:11 +08:00
觉得你的考虑有一点多余。
你的项目应该是 SpringBoot,打包出的 Jar 包,是自带 Tomact 的,所以能够直接靠命令行启动(黑框框)。 修改了代码以后(增加接口,修改接口)要重写打包 Jar 包,替换掉旧的 Jar 包,(这是导致你问题的原因) 想解决的话你可以考虑搜索 "热部署"。 |
2
MikeLei 2020-05-06 14:16:55 +08:00
之所以说多余,如果项目对可靠性要求不是非常非常高的话。。。没有什么必要去花力气搞热部署。
|
3
wysnylc 2020-05-06 14:18:28 +08:00
服务器运行黑窗口,windows server?传统行业无疑(非鄙视)
了解下 git,了解下 nginx,分布式这些东西把 |
4
varrily 2020-05-06 14:21:14 +08:00
很常见的问题,也有很简单的解决方案。
前端加入 nginx,做负载均衡,后端部署两个 jar,更新的时候依次重启替换。 接口太多就拆分到多个 jar 。 |
5
wget 2020-05-06 14:22:57 +08:00
小项目的话一个工程就可以,如果需要更新不停服务,可以前置一个 nginx,如 nginx 端口 443,常规启动服务端口 8080,更新时候可以先 8081 端口启动一个服务,然后 nginx 转发到 8081 上,然后升级 8080 端口的服务,升级完成之后 nginx 转发改到 8080,停掉 8081 服务即可
可以找一个会写命令行脚本的,将这一个流程写成一键脚本,后续升级把文件替换后执行下脚本就自动完成了 |
6
sandman511 OP |
7
zoharSoul 2020-05-06 14:28:46 +08:00
就像#4 说的那样
前端加入 nginx,做负载均衡,后端部署两个 jar,更新的时候依次重启替换 就可以了. 这个跟语言没关系的.go 什么的一样要这样 |
8
MikeLei 2020-05-06 15:04:59 +08:00
@sandman511 里面有一个错别字是"重新打包 Jar 包,替换掉旧的 Jar 包",建议你采用 4 、5 楼的方法。
|
9
526326991 2020-05-07 13:06:32 +08:00
目测,SpringBoot 项目,Swagger2 了解下~
|
10
sandman511 OP @526326991 就是 springboot 呀 swagger 支持不同端口的接口接入嘛
|