多个服务依赖的Jar包自动升级调研

上千个服务引用同一个jar包,怎么实现自动升级?而不用手动升级?

开发使用自动升级平台

开发一个专门的自动升级平台,支持以下功能:

  • 任务管控与统计:支持升级范围的圈选,设置jar包的源和目标版本,精准控制升级过程。
  • 升级规则配置:支持不同任务执行不同的升级规则,支持升级任务编排。
  • 任务重试与跳过:支持升级任务的重试和跳过,便于处理升级过程中的问题。
  • 支持异步通知与hook调用:每个流程节点都支持异步通知和同步的前置/后置hook调用,便于扩展和集成。

结合自动升级工具和平台

  • 首先,可以使用IDE工具进行本地测试和手动升级,确保升级没有问题。
  • 然后,将自动升级平台与CI/CD流程结合,实现自动化的定期升级。

注意事项

  • 确保升级的jar包与服务完全兼容,避免升级后出现服务不稳定的情况。
  • 在自动升级平台上配置好升级规则和任务,确保升级过程的可控性和可靠性。
  • 定期进行升级演练,确保团队熟悉自动升级的流程和可能遇到的问题。

通过以上方法,可以实现多个服务引用的一个jar包的自动升级,提高服务升级的效率和维护性。

参考:

云音乐服务端大规模自动化升级实践

Jar 组件自动化风险监测和升级实践

SpringBoot 应用优雅实现零停机更新,妙啊~

相关推荐
Rain的Java大神之路6 分钟前
LeetCode 21 合并两个有序链表:一道 Easy 题,凭什么刷掉一半候选人?
java·后端·算法
小白的码BUG之路10 分钟前
K8S -- 集群搭建环境基础
java·服务器·kubernetes
w_t_y_y11 分钟前
JWT(5)JWT+spring security
java·后端·spring
wenyq721 分钟前
LeetCode 152. Maximum Product Subarray
java·算法·leetcode
余额瞒着我当琳22 分钟前
C++异常,异常的概念,异常抛出与捕获,RAII 和智能指针的设计思路,C++标准库一些指针的使用
java·开发语言·c++·算法
花间相见39 分钟前
【macOS开发环境:Java配置】—— Mac上的Java版本管理-SDKMAN安装、多版本切换与项目实战
java·架构·个人开发
骑着蜗牛撵大象32744 分钟前
大模型 SDK 编译就崩?用 CMakeLists 把 httplib、JSON 与 OpenSSL 装配成可复用的 ChatServer
android·java·c++·http·json·cmake·大模型sdk
码智社1 小时前
Redis生产环境高频踩坑总结(Java后端视角)
java·数据库·redis
江苏汉软1 小时前
制造企业为什么需要MES
java·数据库·制造·mes系统·mes软件