当前位置: 首页
科技数码
告诉我!微服务,究竟拆分到什么粒度才合适?

告诉我!微服务,究竟拆分到什么粒度才合适?

热心网友 时间:2025-12-15
转载

随着数据量、并发量、业务复杂度的增长,互联网架构会出现一些问题,“服务化”是一个很好的解决上述痛点的方案。又有童鞋问我说,那微服务架构多“微”才合适?

《微服务架构的六大好处》中提到,随着数据量、并发量、业务复杂度的增长,互联网架构会出现以下问题:

代码到处拷贝;底层复杂性扩散;基础库(so/jar/dll)耦合;SQL质量得不到保障,业务相互影响;数据库耦合;

“服务化”是一个很好的解决上述痛点的方案。

又有童鞋问我说,那微服务架构多“微”才合适?

一般有这样四类实践。

实践一:统一服务层。

这是最粗犷的玩法,所有基础数据,都通过一个统一的服务来进行访问。

在业务不是特别复杂的时候,这不失为一个快速分层的方案,一旦业务变得复杂,服务层会变得非常重,成为耦合焦点。

以微信场景为例,假设通过一个通用的服务层来访问基础数据。

则只有一个统一的服务层,用户信息,好友信息,群组信息,消息信息都通过这个服务层来访问。

实践二:一个子业务一个服务。

如果所有的数据访问都通过一个服务层来访问,那么一行代码出故障,就将影响整个服务,所以更合理的做法是在服务层进行拆分。

服务层架构如何细分?

垂直拆分是个好的方案,将子业务分拆,那么微信的服务化架构或许会变成下面的样子:

用户相关的子业务,访问user服务;好友相关的子业务,访问friend服务;群组相关的子业务,访问group服务;消息相关的子业务,访问msg服务;

这样的话,一个服务出问题也不会影响其他服务,与此同时,数据层也按照业务垂直拆分开了。

服务粒度变细之后,出现一个新的问题,业务与服务的连接关系变复杂了,有什么好的优化方案么?

常见的,加入一个高可用服务分发层(Service Mesh不就是这么干的么),并在协议设计时加入服务号,可以减少蜘蛛网状的依赖关系:

调用方依赖分发层,传入服务号;分发层依赖服务层,通过服务号参数分发;

实践三:一个数据库对应一个服务。

数据访问服务最初是从DAO/ORM的数据访问需求过来的,所以有些公司也有一个数据库一个服务的玩法。

一个子业务对应一个服务的玩法如下图:

服务层,整个群业务是一个服务;存储层,实际可能对应了群信息、群成员、群消息等多个数据表;

拆分成一个数据库一个服务,则架构会变成下面的样子:

群信息库,群成员库,群消息库之间也解耦开,不会相互影响。

实践四,一个接口对应一个服务。

微服务架构中,更极端的,甚至一个接口对应一个微服务。

这样的话,架构就从:

进化为:

修改群信息服务;增加群信息服务;获取群信息服务;

多个服务操纵同一个数据库,任何接口服务出问题,都不会影响其他接口服务。使用这种方案的,一般与开发语言特性结合比较紧密,例如golang。

上文中谈到的服务化与微服务,不同粒度的服务化各有什么优劣呢?

总的来说,细粒度拆分的优点有:

服务都能够独立部署;扩容和缩容方便,有利于提高资源利用率;拆得越细,耦合相对会减小;拆得越细,容错相对会更好,一个服务出问题不影响其他服务;扩展性更好;

细粒度拆分的不足也很明显:

拆得越细,系统越复杂;系统之间的依赖关系也更复杂;运维复杂度提升;监控更加复杂;出问题时定位问题更难;

互联公司,以“子业务”作为微服务粒度是最常用,订单服务,用户服务,支付服务等等。

知其然,知其所以然。

思路比结论更重要。

来源:https://www.51cto.com/article/824450.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
4月规上工业原油产量1794万吨 同比增长1.2%

4月规上工业原油产量1794万吨 同比增长1.2%

国家统计局最新发布的能源数据显示,四月份我国原油生产与加工领域呈现出截然不同的发展态势。总体来看,上游生产保持稳健增长,而下游加工环节则面临一定压力。 从生产端来看,四月份规模以上工业原油产量达到1794万吨,同比增长1 2%,增速较三月份提升1 0个百分点。日均产量约为59 8万吨,生产节奏稳步加

时间:2026-05-18 18:08
iPhone 18 Pro手机壳曝光 相机模组尺寸或进一步增大

iPhone 18 Pro手机壳曝光 相机模组尺寸或进一步增大

知名爆料人分享了iPhone18Pro系列保护壳图片。设计延续前代风格,但相机模组尺寸可能进一步扩大,机身或略增厚,导致新保护壳与旧款不兼容。屏幕尺寸预计保持不变。综合信息显示,该系列更像是前代的强化升级版,重点在于内部性能与影像系统的提升。

时间:2026-05-18 18:08
百望股份与中关村两院战略合作共建产学研创投生态

百望股份与中关村两院战略合作共建产学研创投生态

百望股份与中关村学院、中关村人工智能研究院达成战略合作,共建产学研创投生态。依托百望的真实企业交易数据与两院的科研人才优势,在合规前提下挖掘数据要素价值。双方聚焦财税金融领域,利用AI技术研发智能应用,并通过共建数据沙箱、人才通道与共创机制,推动数据智能从学术创。

时间:2026-05-18 18:08
小米SU7 GT发布会5月21日举行 多款新品同步亮相

小米SU7 GT发布会5月21日举行 多款新品同步亮相

小米创始人雷军宣布,小米YU7GT将于5月21日晚7点发布。新车定位纯血GT,拥有修长车头、跑车宽体设计,最大马力1003匹,续航705公里。同场还将推出小米17Max手机、耳夹式耳机等多款生态新品。雷军解释,YU7GT侧重长途旅行与日常使用平衡,其纽北测试旨在验证极端条件下的整车性能。

时间:2026-05-18 18:08
英伟达洽谈领投印度AI初创公司Simplismart

英伟达洽谈领投印度AI初创公司Simplismart

英伟达正洽谈领投印度AI初创公司Simplismart,计划投资约2000万美元,投后估值预计达1亿美元。该公司专注于生成式AI和MLOps,若交易达成,其估值将在数月内从2500万美元跃升近四倍,增长迅猛。英伟达今年在AI领域投资已超400亿美元,持续扩张其生态布局。

时间:2026-05-18 18:08
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程