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