栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

高并发系统设计十八-系统架构:每秒1万次请求的系统要做成服务化拆分吗?

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

高并发系统设计十八-系统架构:每秒1万次请求的系统要做成服务化拆分吗?

系统架构:每秒1万次请求的系统要做成服务化拆分吗?

DAU(Daily Active User)日活跃用户数量

1 一体化架构的痛点

项目刚开始的时候,为了尽快搭建项目,尽快上线,一般都采用一体化架构,即单体应用。

  • 开发简单直接,代码和项目集中式管理
  • 只需要维护一个工程,节省维护系统运行的人力成本
  • 排查问题的时候,只需要排查这个应用进程就可以了,目标性强

但是随着系统功能越来越复杂,开发团队越来越大,一体化架构的缺陷也就显露出来了

  • 技术层面,数据库连接数可能成为系统的瓶颈

  • 研发成本上,团队增加导致沟通成本呈指数级增长

    《人月神话》中曾经提到:一个团队内部沟通成本和人员数量 n 有关,约等于 n(n-1)/2,也就是说随着团队人员的增加,沟通的成本呈指数级增长,一个 100 人的团队需要沟通的渠道大概是 100(100-1)/2 = 4950。为了减少沟通成本,我们一般会把团队拆分成若干个小团队,每个小团队 5~7 人负责一部分功能模块的开发和维护。

  • 一体化架构对于系统的运维,每次修改上线都需要构建整个项目

2 如何使用微服务化解决痛点

将一体化架构进行拆分,按照业务横向拆分。各个拆分出来的子系统分别连接自己对应的数据库,解决数据库连接瓶颈;各个小团队负责自己单独的服务,降低大团队中沟通成本;某个子系统修改上线,降低对其他服务的影响。

但是,微服务化之后,原有单一系统被拆分成多个子服务,在开发和运维方面也会引入额外的问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/912199.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号