文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

微服务的灾难:拆的很爽,但服务太小...

2024-12-03 02:04

关注

本文转载自微信公众号「脑子进煎鱼了」,作者陈煎鱼。转载本文请联系脑子进煎鱼了公众号。

大家好,我是煎鱼。

我有一个好朋友小咸鱼,他们组织早期是业务萌芽的初期,在快速发展阶段,面临着软件开发周期的挑战。

过去的巨石应用

这 “强大又厚实” 的巨石应用是他们应用架构上的一个早期策略:

但随着业务的持续发展,巨石应用的痛点也非常明确。像是:

这些痛点也正给他们公司带来各种各样的组织问题,而当代微服务的横空出世,对软件工程师很有吸引力,他们也就转型了。

现代的微服务架构

正式迈向了微服务转型之路,一切先从拆分开始:

在以往的大单体中,我们会将其 Cache、DB 等混合在遗爱。但在做微服务后,我们会选用拆成多个服务的方式,最终演变成:

微服务拆分有以下几种粗的基准:

绞杀者模式

在完成微服务改造的基准的定义后,绝大部分公司都是采取业界中比较著名的 “绞杀者” 模式。

如下图:

由于会考虑微服务的组织,大多都是有成熟业务的盈利组织了,业务发展太迅猛,才发现技术架构跟不上业务要求的迭代速度和周期,不大可能停下业务硬重构。

因此业内基本采取边迁移,边改造为微服务的渐进式重构的方式,实现 “绞杀者”,把技术债务给偿还了。

服务太小

在微服务逐步的演进过程中,我们就会发现一个新的问题。虽然在微服务做规划时,都会很认真的对服务的拆分进行深入研讨,但还是出现了服务拆的很爽,但后面实战的时候发现服务太小了。

N 人维护数倍服务

出现了 “10 名工程师组成了维护 60 项服务的小组。一人负责一个服务还不够用” 的情况。

正当以为这不是常见问题时,最近看到我的好朋友 HHF(@HHFCodeRv)提到有人向他咨询架构相关的问题。

下面是咨询他的公司的 Java 架构师落地的方案。如下图:

亮点是这 2 个后端开发,其中一个还是架构师。结合实际情况,可能只有 1 个后端在干活。这堪称 1:17 的人和服务的配比量,每天光切 IDE 找服务可能就得好几东...

当然,应用还没上线,就拆成数倍的服务。形成 N 个人维护其自身数量的数倍服务,不大合理。这也是业内很多互联网公司需要思考和解决的问题。

新功能归属谁

在实际的业务场景中,出现了 “有人要求我把一个新功能同时部署到两个不同服务之中” 的诉求。

因为这个新功能同时是 ServiceA 和 ServiceB 这两个服务的职责划分的所有者或者部分所有者,所以新功能理应同时在这两个服务都要有所提供。

这时候需要考虑以下问题:

在真实的项目场景中,我们会按照事前定的 “契约” 进行设计和开发。也就是在设计时,就要针对服务的上下文边界确立好,做好约束和规范。

出现上面这些问题,我们要想想:是不是服务的职责不清晰还是拆分有偏差,又或是业务领域改变了?。

我们要尽快对整体的服务做一个再规划,界定新的上下文。否则,以后会越来越乱,有好受的。

总结

在今天的文章中,我们介绍了巨石应用和微服务架构的一些基本特性。同时也给大家展示了,最常见的切换方式:绞杀者模式。

随后和大家探讨了所有微服务演讲中,都必然会碰到的一个大问题:服务太小。

服务太小又分为两种情况:

这种情况下,我们需要分清楚,这是人,还是设计上的问题(这很重要)。及时重新界定新的领域,面向服务做好新的上下文界定,能够适当的解决部分问题。

 

业务是在持续发展的,若要做好,要长期的阶段性复盘。但若是人的问题,那就需要好好思考了,毕竟康威定律。

 

来源:脑子进煎鱼了内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯