前言

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

拆分目的是什么?

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

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

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

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

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

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

  1. 云原生架构下日志服务数据预处理

    简介:本篇实践将以某家国际教育机构为例,为大家详细介绍云原生架构下日志服务数据预处理以及对应的解决方案和最佳实践操作手册,方便用户快速对号入座,解决云原生架构下的常见日志难题. 直达最佳实践:[htt ...

  2. Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?

    Spring Cloud Gateway 突发高危漏洞 Log4j2 的漏洞刚告一段落,Spring 官方在 2022 年 3 月 1 日发布了 Spring Cloud Gateway 的两个 CV ...

  3. 云原生架构下微服务最佳实践-如何拆分微服务架构

    转自: https://mp.weixin.qq.com/s?__biz=MzI3MzEzMDI1OQ==&mid=2651821066&idx=1&sn=8475f813a8 ...

  4. 云原生语境下,如何重新解读微服务?

    最近,O'Reilly 公布了一份关于企业微服务市场现状的数据调研.报告显示,在访问了全球 1,502 名软件工程师.系统和技术架构师.工程师以及决策者后,有 77% 的组织反馈采用了微服务,其中 9 ...

  5. 王启军:云原生架构下如何拆分微服务?

    王启军,云原生技术架构专家,曾任当当架构师,主导电商平台架构设计,包括订单.支付.价格.库存.物流等.曾就职于搜狐,负责手机微博的研发.十余年的技术历练,也曾作为技术负责人带领过近百人的团队.公众号& ...

  6. spring cloud Alibaba 的 Nacos学习笔记

    spring cloud Alibaba 的 Nacos学习笔记 文章目录 spring cloud Alibaba 的 Nacos学习笔记 下载nacos spring cloud Alibaba依 ...

  7. Go语言云原生与微服务(一)云原生架构

    Hello,我是普通Gopher,00后男孩,极致的共享主义者,想要成为一个终身学习者.专注于做最通俗易懂的计算机基础知识类公众号.每天推送Golang技术干货,内容起于K8S而不止于K8S,涉及Do ...

  8. 云原生时代,微服务如何演进?

    简介:云原生时代,微服务和云原生会产生怎样的关系?云原生时代的微服务又有什么特点?当前有哪些比较活跃的微服务项目?阿里巴巴资深技术专家李响从微服务的生命周期.流量治理.编程模型以及可信安全4个方面,分 ...

  9. 云原生架构下的微服务选型和演进

    作者:彦林 本文整理自阿里云智能高级技术专家彦林的线上直播分享<云原生微服务最佳实践>.视频回放地址:https://yqh.aliyun.com/live/detail/28454 随着 ...

最新文章

  1. flink入门_阿里巴巴为何选择Flink?20年大佬分11章讲解Flink从入门到实践!
  2. 基于动态背包的多场景广告序列投放算法
  3. 深度学习 训练吃显卡_在深度学习中喂饱GPU
  4. Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
  5. 人工智能与大数据的耦合,将会怎么影响我们的生活
  6. ElasticSearch2.3.5源码研究(一)
  7. HTML5的知识分享(一):HTML5的基础标签
  8. 最快15分钟,完成高精度AI模型定制开发
  9. linux如何将文件夹添加到书签,桌面应用|[新手技巧] 如何在Ubuntu中添加和删除书签...
  10. linux网络命令详解
  11. [转]Android--多线程之Handler
  12. python3.8安装pygame_Python3.8安装Pygame很难?新萌也能轻松搞定安装并运行游戏
  13. 外设适配-TI954 记录
  14. 网友神总结:我们继续用 XP 的十大理由
  15. 从零开始撸一个ajax框架
  16. 软件项目管理大作业:项目内容介绍
  17. Falsy Bouncer|FreeCodeCamp
  18. 我的ubuntu系统配置-重装到完整配置ubuntu环境-完整配置ubuntu-ubuntu-install-final
  19. debian 修改桌面背景
  20. linux系统支持网银吗,Linux系统能使用网银吗?Linux网银使用方法介绍

热门文章

  1. Java 第五章 类的设计与包
  2. python3.7装anaconda什么版本_【对话系统】配置python+dlatk+theano不装anaconda的血泪史...
  3. linux 自动获取ip和dns,linux 配置IP和DNS
  4. 拼图java监听器,Android 简单的实现滑块拼图验证码功能
  5. C++基础与深度解析第六章:函数
  6. C语言之文件读写探究(六):fscanf、fprintf(格式化读写文件)
  7. adam算法效果差原因_电缆耐高温套管使用效果差的原因有哪些?
  8. cesium米转换经纬度_Cesium 坐标系转换
  9. vue require图片_手把手教你使用require.context实现前端自动化
  10. markdown 编辑器_推荐一款公众号 Markdown 编辑器