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)—— 微服务架构统一安全认证设计与实践