请问一个 SpringBoot 标准的 Web 工程是如何部署的呢?也就是一个总体父工程,下面是各个模块的子工程,子工程直接可能相互依赖,比如 Web 层和网关层,以及各个分功能模块,我之前做的是每个模块都有一个启动类,但这个貌似不能打包。所以我想问究竟如何部署?因为我这个也涉及一点微服务,还是每个模块都是单独打包部署?
1
manami 2020-09-29 08:01:04 +08:00 via Android
docker 大法好
|
2
wangyanrui 2020-09-29 08:07:18 +08:00 via Android
没看懂,多个 module,如果都有启动类,不应该是多个服务嘛😂打包直接 mvn clean package 就可以了呀。是不是 pom.xml 之间没写好
|
3
codingadog 2020-09-29 08:08:34 +08:00 via Android
为啥会每个模块都有启动类。。
|
4
AerithLoveMe OP @wangyanrui 那我这个就应该按照微服务的打包方式来咯?每个模块单独部署。
|
5
AerithLoveMe OP @codingadog 因为我都把 web 的功能细分成每个模块了。比如上传图片,视频点播,所以每个模块都需要单独启动。
|
6
iphoneXr 2020-09-29 08:22:27 +08:00 via iPhone
我说下我知道的一些方法吧,
1 、直接在顶级 pom 文件里面把所有依赖的模块先打包了 2 、写个 jar 程序专门来进行打包,分别找出各项目的依赖子项目并排序打包 3 、通过 jenkins 的依次打包功能,也就是每个子模块都做一个 jobs 我们家在用方法 2,上家用的是方法 1,仅供参考哈。 |
7
wangyanrui 2020-09-29 08:27:10 +08:00 via Android
@AerithLoveMe 都拆开了我的理解应该多启动
|
8
xiangyuecn 2020-09-29 08:30:24 +08:00
发现好多新人 动不动就来个微服务,本来 700mb 内存能搞定的 hello word,硬是要 10 个 G 内存才能带的动😂
SpringBoot 很好,但使用的人提前优化就不是什么好事了,一年下来流量 1 万不到的项目整微服务。 |
9
AerithLoveMe OP @xiangyuecn 我这个就是练习。并不打算上线的。。就是想问问部署的话形式是什么样子的
|
10
yalin 2020-09-29 08:32:05 +08:00
一个人的微服务?
|
11
AerithLoveMe OP @yalin 啊。我这个只是我一个人单独做的练习。😂
|
12
xiangyuecn 2020-09-29 08:35:00 +08:00
@AerithLoveMe 参考 2 楼打包,clean 都可以省了,直接 parent 上点一下 package,每个模块下面 target 目录里面就有生成的 jar,直接用 java -jar xxxx.jar 来启动。因为这个逼玩意每个包里面默认都带了 tomcat 好像,小项目想想就可怕
|
13
AerithLoveMe OP @xiangyuecn 嗯 大概了解了 谢谢
|
14
yalin 2020-09-29 08:42:05 +08:00
@AerithLoveMe jar 做成 docker 镜像,k8s 从 docker 中拉 springboot 镜像
|
15
hand515 2020-09-29 08:55:02 +08:00
一个进程对应一个模块,各模块间不直接依赖
,公共代码和公共 API 定义放到一个模块,其他模块依赖这个模块 |
16
XiLingHost 2020-09-29 16:24:56 +08:00
用 jib 做镜像吧,直接构建到 registry 里
|