V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
HarryQu
V2EX  ›  程序员

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

  •  
  •   HarryQu · 2018-10-31 15:37:58 +08:00 · 2317 次点击
    这是一个创建于 2214 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    7 条回复    2018-10-31 18:13:38 +08:00
    751762476
        1
    751762476  
       2018-10-31 15:56:10 +08:00
    maven 打包成 jar,发布完事
    xiaoxinshiwo
        2
    xiaoxinshiwo  
       2018-10-31 15:59:32 +08:00
    如 1#所说,将共通的部分作为单独的 module,然后放在 maven 库中,其他的工程依赖此 jar
    lhx2008
        3
    lhx2008  
       2018-10-31 16:02:21 +08:00 via Android
    @xiaoxinshiwo 然而楼主要的是不重启,虽然微服务应该应该有 CI 来自动发布的,重启不影响
    @751762476
    DeadLion
        4
    DeadLion  
       2018-10-31 17:45:30 +08:00
    实体类和接口声明不都是单独一个项目么 , 然后升级的话修改版本号。各个依赖里也修改成相应的版本号就行了。
    xuanbg
        5
    xuanbg  
       2018-10-31 17:50:27 +08:00
    装一个 maven 私服,自己发布一个 jar 包上去,然后项目 pom 里面引用就行。
    ysweics
        6
    ysweics  
       2018-10-31 17:52:33 +08:00
    module 版本区分,你修改通用的代码以后,修改一下版本,然后依赖这个改动版本的地方修改一下依赖的版本,原来没有用到改动的地方,版本不变,还是继续用原来的 jar 包就可以
    wolfie
        7
    wolfie  
       2018-10-31 18:13:38 +08:00
    原公司就是 #2 后来改成了 #5 的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:27 · PVG 22:27 · LAX 06:27 · JFK 09:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.