微服务实施的前提条件?有哪些问题需要思考?
一、前言
简单分析了微服务的好处,以及会带来的问题。
遇到问题并不可怕,可怕的是我们不去面对它,不去想办法解决它,逃避问题是不可能有任何进步。所以积极想办法应对问题并解决问题,才能不断的进步。
前面讲了,微服务一般都是由单体演进而来,很少有业务从0就开始进行微服务开发。如果能从0就开始用微服务开发,确实是一件很好的事情,前提是你确实考虑清楚了用微服务开发适合当前的业务以及业务的发展需求。
那么问题来了,企业什么时候引入微服务呢?
二、企业什么时候引入微服务
引入原因:
单体应用无法满足业务增长的需求,业务的交付、业务的可靠性、稳定性要求,随着时间推移问题会越来越多。-- 也就是前面遇到的一些问题
不过也有人,不是从本公司业务发展,开发成本,开发效率来考虑问题,而是什么开发大会上看到很多公司微服务的演讲,或者听说很多公司在用微服务,从这些方面来考虑,也就是随大流,这种思考方式显然不是正确思考方式。
不要为了微服务而微服务。采用微服务收益一定要大于单体应用,要能解决遇到的问题。
从单体架构升级到微服务架构,肯定希望提高研发效率,缩短工期,加快产品交付速度。
那他们在具体生产效率上有什么区别?
根据马丁·福勒(Martin Fowler)的这篇文章,揭示了生产率和复杂度的关系。
在复杂度较小时,单体应用的生产率更高,微服务架构反而降低了生产率。但是,当复杂度到了一定规模,无论采用单体应用还是微服务架构,都会降低系统的生产率。
区别是:单体应用生产率开始急剧下降,而微服务架构则能缓解生产率下降的程度。如下图:

本文探讨了企业在面临单体应用挑战时引入微服务的时机,强调了不应盲目跟风,而应基于实际业务需求和技术成熟度来决策。微服务能够缓解复杂度增加带来的生产率下降,但何时转变取决于系统的特定复杂度点。组织架构需随之调整,采用跨职能的小团队以适应微服务架构。此外,基础设施建设如CI/CD也是关键,以确保高效的自动化交付。
最低0.47元/天 解锁文章
169万+

被折叠的 条评论
为什么被折叠?



