我在分布式系统中有许多微服务 - 其中一个我最近重命名以更好地反映其有界上下文并消除与另一个类似命名服务的歧义。
该服务在重命名时在3.1.0版本上。我的问题是,我现在怎么处理这个版本?是4.0.0吗?或者这在概念上现在是一项新服务,取代旧服务并从1.0.0重新开始?
我会倾向于后一个选项,但我也正在对db模式进行版本化以匹配服务,我不希望最终处于服务为1.0.0但db模式为3.1的位置0.0 ...
答案 0 :(得分:1)
你应该碰到4.0版。这个想法不是服务的名称,而是对其历史和血统的暗示。在此示例中,虽然调用可执行文件的方法已更改,但数据库的连接完好无损,并且您希望保留以前版本存在的历史记录。
Bumping主要版本已经向所有用户发出了不相关的更改信号,因此没有人会意外地选择这个新的调用版本。
语义版本控制是故意不明确的,因此即使其他人不同意论证,也会继续遵循核心原则。也就是说,语义版本控制只会指定您必须所做的事情,而不是应该做的事情。