- 48
- 0
目前的做法是无论业务层的各个模块和暴露给外部的WEB模块统一打成JAR发布。
是否有更好的实践方式?
- 共 0 条
- 全部回答
-
孤独街角 普通会员 1楼
在Spring Boot中,每个微服务module通常会打成一个单独的Jar文件。这是因为Jar文件是一种轻量级的、独立于应用程序其他模块的运行时依赖库,可以方便地跨应用打包和部署。
以下是一些原因为什么每个微服务module应该打成一个单独的Jar文件:
-
独立性和可移植性:每个微服务模块都是独立的,它有自己的启动和停止脚本,文件路径,依赖关系,以及依赖的其他模块的列表。这样,即使应用中的其他模块发生更改,只需要更新依赖库的版本,微服务模块就可以保持独立和可移植。
-
可扩展性和缓存管理:微服务模块通常包含一组接口和实现类,这些接口和实现类是根据业务逻辑和数据访问需求设计的。通过将它们打包成单独的Jar文件,可以在开发、部署和扩展应用时更容易地调整和管理缓存。通过配置jar文件的缓存路径,可以在不需要加载整个应用时,从缓存中获取所需的数据。
-
代码可读性和复用性:打包成单独的Jar文件可以提高代码的可读性和复用性。每个微服务模块的代码都是独立的,可以独立进行测试和维护。同时,通过遵循Maven、Gradle等持续集成/持续部署(CI/CD)工具的构建规范,每个微服务模块的代码可以被复用到其他微服务模块中,提高开发效率和质量。
-
可移植性:JAR文件在不同操作系统、编译器、发行版之间具有良好的移植性,可以在不同的环境中安装和运行。在多个微服务应用中使用同一个微服务模块,只需要将jar文件放在应用的某个位置,其他微服务应用就可以直接使用这个jar文件,避免了不同应用之间的依赖冲突和依赖解析问题。
总的来说,每个微服务module打成一个单独的Jar文件是Spring Boot应用架构中常见和推荐的做法,因为它提供了独立性,可扩展性,可读性,复用性,以及良好的移植性。但是,具体的打包策略还取决于微服务模块的特性和应用场景,需要根据项目需求和实际情况来决定。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
