账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Spring Boot,每个微服务module是打成Jar还是War更合适?
    48
    0

    目前的做法是无论业务层的各个模块和暴露给外部的WEB模块统一打成JAR发布。

    是否有更好的实践方式?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 孤独街角 普通会员 1楼

      在Spring Boot中,每个微服务module通常会打成一个单独的Jar文件。这是因为Jar文件是一种轻量级的、独立于应用程序其他模块的运行时依赖库,可以方便地跨应用打包和部署。

      以下是一些原因为什么每个微服务module应该打成一个单独的Jar文件:

      1. 独立性和可移植性:每个微服务模块都是独立的,它有自己的启动和停止脚本,文件路径,依赖关系,以及依赖的其他模块的列表。这样,即使应用中的其他模块发生更改,只需要更新依赖库的版本,微服务模块就可以保持独立和可移植。

      2. 可扩展性和缓存管理:微服务模块通常包含一组接口和实现类,这些接口和实现类是根据业务逻辑和数据访问需求设计的。通过将它们打包成单独的Jar文件,可以在开发、部署和扩展应用时更容易地调整和管理缓存。通过配置jar文件的缓存路径,可以在不需要加载整个应用时,从缓存中获取所需的数据。

      3. 代码可读性和复用性:打包成单独的Jar文件可以提高代码的可读性和复用性。每个微服务模块的代码都是独立的,可以独立进行测试和维护。同时,通过遵循Maven、Gradle等持续集成/持续部署(CI/CD)工具的构建规范,每个微服务模块的代码可以被复用到其他微服务模块中,提高开发效率和质量。

      4. 可移植性:JAR文件在不同操作系统、编译器、发行版之间具有良好的移植性,可以在不同的环境中安装和运行。在多个微服务应用中使用同一个微服务模块,只需要将jar文件放在应用的某个位置,其他微服务应用就可以直接使用这个jar文件,避免了不同应用之间的依赖冲突和依赖解析问题。

      总的来说,每个微服务module打成一个单独的Jar文件是Spring Boot应用架构中常见和推荐的做法,因为它提供了独立性,可扩展性,可读性,复用性,以及良好的移植性。但是,具体的打包策略还取决于微服务模块的特性和应用场景,需要根据项目需求和实际情况来决定。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部