有一个微服务(.Net core,但这不是那么重要)。新功能在其中实现,它们在某个地方发生了变化DTO,并且这个实现需要制作一个新版本(v2),同时保持旧功能(v1)。
已提出以下选项:
v1从当前分支创建一个分支master,提交它并将其布置为单独的实例。在更正影响两个分支的逻辑时,请进行cherry-pick适当的提交。- 复制逻辑
v1并v2在一个解决方案中,将其分布在不同的命名空间中,实现两个控制器 - forv1和v2.
第一种方法涉及基础设施成本。第二个在代码形式上非常丑陋。
问题:什么重要best practice?也许还有一些我们没有考虑过的第三种(第四、第五)方法?