Spring Cloud 分布式服务如何处理通用模块?

2018-10-31 15:37:58 +08:00
 HarryQu

在搞 Spring Cloud 遇到了几个问题 假设我有很多的服务,项目中有很多通用的代码,如:

  1. 工具类
  2. 实体类
  3. 数据库迁移 flyway 这些通用代码是单独封装在一个模块,所有服务都依赖这个模块吗 ?

那如果我改动了一下通用模块,岂不是要重新启动所有服务吗 ?

网上的资料好多都是简单的 demo ,解决不了实际开发问题, 脑阔疼 ..

2214 次点击
所在节点    程序员
7 条回复
751762476
2018-10-31 15:56:10 +08:00
maven 打包成 jar,发布完事
xiaoxinshiwo
2018-10-31 15:59:32 +08:00
如 1#所说,将共通的部分作为单独的 module,然后放在 maven 库中,其他的工程依赖此 jar
lhx2008
2018-10-31 16:02:21 +08:00
@xiaoxinshiwo 然而楼主要的是不重启,虽然微服务应该应该有 CI 来自动发布的,重启不影响
@751762476
DeadLion
2018-10-31 17:45:30 +08:00
实体类和接口声明不都是单独一个项目么 , 然后升级的话修改版本号。各个依赖里也修改成相应的版本号就行了。
xuanbg
2018-10-31 17:50:27 +08:00
装一个 maven 私服,自己发布一个 jar 包上去,然后项目 pom 里面引用就行。
ysweics
2018-10-31 17:52:33 +08:00
module 版本区分,你修改通用的代码以后,修改一下版本,然后依赖这个改动版本的地方修改一下依赖的版本,原来没有用到改动的地方,版本不变,还是继续用原来的 jar 包就可以
wolfie
2018-10-31 18:13:38 +08:00
原公司就是 #2 后来改成了 #5 的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/503046

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX