2014年3月(就在四年前的这个问题时),James Lewis和Martin Fowler写道:
许多人认为,随着时间的推移,模块化的衰退不太可能出现在微服务中,因为服务边界是明确的,很难修补。然而,在我们看到足够的系统具有足够的年龄之前,我们无法真正评估微服务架构是如何成熟的。
既然很多MSA都是由各种业务构建的,那么我们是否对这些架构的成熟有了一般的了解?我们知道什么在时间推进时有效?我们对什么不起作用知道了什么?
答案 0 :(得分:1)
你的问题的答案是非常主观的,将取决于多少架构和设计工作已经提前整个解决方案/系统,以及围绕集成,部署等对系统进行体系结构更改的治理控制措施。
但是从经验来看,我可以(几乎)绝对保证架构随着时间的推移而发展,不同的解决方案将出现在无法预料和/或无计划的功能和技术要求中。面对敏捷,不断发展的需求,任何架构都不会完好无损。
另一个需要考虑的因素是工具,模式和技术在我们的行业中变化很快。因此,项目完成所需的时间越长,对这些区域的变化的曝光就越大。这是另一个事实(在我看来)
然而,不改变的是这些架构决策背后的动机。为什么? 架构治理需要捕捉这些动机,并确保使用长期使用的任何不断发展的工具,模式或技术来实现这些动机。
对于我自己的项目,我确保我们制定的任何架构决策的一个重要因素是由业务驱动因素与开发人员体验(DX)的平衡视图驱动,以确保清晰度,生产力,掌握,稳定性,质量等。 / p>