【发布时间】:2016-09-12 07:14:29
【问题描述】:
我在分布式系统中有许多微服务 - 我最近重命名了其中一个以更好地反映其有界上下文并消除与另一个类似命名的服务的歧义。
重命名时该服务的版本为 3.1.0。我的问题是,我现在用这个版本做什么?是 4.0.0 吗?或者这在概念上现在是一项新服务,取代旧服务并从 1.0.0 重新开始?
我倾向于后一种选择,但我也在对数据库架构进行版本控制以匹配服务,并且我不想最终处于服务为 1.0.0 但数据库架构为 3.1 的位置.0...
【问题讨论】:
-
服务的名字和服务的身份是一样的吗?如果你改了名字,你是不同的人还是同一个人?我建议你的服务的身份不仅仅是它的名字,就像你的身份不仅仅是你的名字一样。
-
我明白你的意思。从消费者的角度来看,他们必须做一些工作才能使用新名称下的服务,就像他们需要为任何主要版本更改做一些工作一样。
-
这可能有助于澄清您是否已将服务重命名为 interface 或 interface-implementation。
标签: rename microservices semantic-versioning