vlambda博客
学习文章列表

云原生(07):你知道该怎么上微服务架构?

根据前面几篇的描述,我们知道微服务是云原生必备的要素之一。那在实际中怎么引用微服务呢?

我们不妨从以下几点去判断一下:

  1. 是否有新业务?新业务是否独立?如果新业务是完全独立的,则可以将该业务微服务化。

  2. 如果没有新业务,那就要面临重构的巨额成本。但这也是比较容易成功的模式,因为单体应用的架构清晰,知道该如何去划分微服务。

  3. 优先将非核心通用服务划分为微服务,尝试并熟悉微服务架构。

  4. 再将重要通用服务抽象为微服务,减少后续改造其余部分业务的成本。

  5. 进而将核心业务抽象为微服务,彻底完成单体向微服务化转变。

实际上,第2点是非常重要的。上来就将核心业务微服务化是要承担很大的失败风险的。根据以往的案例,成功的微服务都是从单体应用开始的。这句话比较片面,实际上是用单体应用代替了整体设计。成功的微服务是从完善的整体规划设计开始的。如果想从简单的新业务这一点开始,很难做成一个完善的微服务体系,必然会造成反复重构的风险。

其实也引申出了一个问题:如果现在的单体应用很成熟,是需要慎重评估改变成微服务架构的各项成本和风险的。微服务并不会带来新的价值增长点,它只是一种技术,来解决庞大架构中牵一发而动全身的问题,但是微服务设计不好,仍然是牵一发而动全身。

最后一句话:是不是微服务不是问题,问题是你做好了系统总体设计了吗?



接下来向大家推荐《云原生架构进阶实战》这本书。该书是我本人撰写的,历时数月,多次修改,在机械工业出版社出版。该书聚焦于云原生架构的理念和基础知识,并通过实战向大家讲解和展示云原生架构的魅力。该书第一遍需要几分钟即可读完,第二遍需要两到三天读完,第三遍以后,可以作为工具书来翻阅,之后可以品位其中的思想精髓。值得您购买。点击“阅读原文”即可进入网上商城的购买页面。