Spring Cloud与微服务学习总结(13)——云原生趋势下,微服务的拆分粒度如何把握?

Posted 科技D人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud与微服务学习总结(13)——云原生趋势下,微服务的拆分粒度如何把握?相关的知识,希望对你有一定的参考价值。

前言

微服务在最近几年大行其道,很多公司的研发人员都在考虑微服务架构,同时,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易管理,这给了微服务架构良好的发展机会。在做微服务的路上,拆分服务是个很热的话题。我们应该按照什么原则将现有的业务进行拆分?是否拆分得越细就越好?接下来一起谈谈服务拆分的策略和坚持的原则。

拆分目的是什么?

在介绍如何拆分之前,我们需要了解下拆分的目的是什么,这样才不会在后续的拆分过程中忘了最初的目的。拆分的本质是为了将复杂的问题简单化,那么我们在单体架构阶段遇到了哪些复杂性问题呢?首先来回想下当初为什么选用了单体架构,在电商项目刚启动的时候,我们只希望能尽快地将项目搭建起来,方便将产品更早的投放市场进行快速验证。在开发初期,这种架构确实给开发和运维带来了很大的便捷,主要体现在:

  • 开发简单直接,代码和项目集中式管理。

  • 排查问题时只需要排查这个应用就可以了,更有针对性。

  • 只需要维护一个工程,节省维护系统运行的人力成本。

但是随着功能越来越多,开发团队的规模越来越大,单体架构的缺陷慢慢体现出来,主要有以下几个方面:在技术层面,数据库的连接数成为应用服务器扩容的瓶颈,因为连接 mysql 的客户端数量是有限制的。除此之外,单体架构增加了研发的成本抑制了研发效率的提升。比如公司的垂直电商系统团队会被按业务线拆分为不同的组。当如此多的小团队共同维护一套代码和一个系统时,在配合的过程中就会出现问题。不同的团队之间

以上是关于Spring Cloud与微服务学习总结(13)——云原生趋势下,微服务的拆分粒度如何把握?的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud 与微服务学习总结(15)—— Spring Cloud 2021.0.1 发布

Spring Cloud 与微服务学习总结(18)—— Spring Cloud Gateway 2.0 详解

Spring Cloud 与微服务学习总结(18)—— Spring Cloud Gateway 2.0 详解

Spring Cloud 与微服务学习总结(16)—— 微服务架构统一安全认证设计与实践

Spring Cloud 与微服务学习总结(16)—— 微服务架构统一安全认证设计与实践

Spring Cloud 与微服务学习总结(14)—— 云原生时代,如何从 Java 开发者转型微服务?