服务上线之后,随着业务的发展需要对功能进行变更,或者修复线上的BUG;服务升级之后,往往需要对服务采用多版本管理。
一.服务多版本管理设计
服务多版本管理对象包括服务提供者和服务消费者.
- 服务提供者:发布服务的时候,支持指定服务的版本号
- 服务消费者:消费服务的时候,支持制定引用的服务版本号或者版本范围。
1.服务版本号管理
服务版本号是有序的,再服务名相同的情况下,两个相同服务名的不同服务版本的版本号可以比较大小。完整版本的版本号:主版本号(Major) + 副版本号(Minor) + 微版本号(Micor) 构成
按照约定俗成的划分规则如下:
- 主版本号:表示重大特性或者功能变更,接口或者功能可能会不兼容。
- 副版本号:发生了少部分的功能变更,或者新增了一些功能.
- 微版本号:主要用于BUG修复,对应于常见的SP补丁包。
服务版本的比较规则:从前往后主项比较,当且仅当服务名、服务主版本号、服务副版本号、服务微版本号全部相同时,两个服务才是同一个服务。否则以第一个出现差异的版本号的大小决定服务版本的大小。
2.服务热升级
服务热升级的目标是再业务不中断的情况下,实现系统的平滑升级。

网友评论