网易首页 > 网易号 > 正文 申请入驻

小团队中微服务的可怕之处

0
分享至

  作者 | Manuel Reinfurt

  译者 | Sambodhi

  策划 | Tina

  本文最初发表于 Medium 博客,经原作者 Manuel Reinfurt 授权,InfoQ 中文站翻译并分享。

  微服务听起来很棒,每一个团队可以彼此独立工作而不影响其他团队。你可以轻松地维护和扩展微服务。你也可以在同一项目中使用不同的技术。它们如此稳定,所以,你的产品会有极好的扩展。在 2021 年,不应该把任何应用作为单体来构建,对吧?

  很遗憾,微服务并非在每一种环境下都可以发挥作用,在盲目使用之前,你必须确定它们提供了你所需要的价值。我见过几个典型的项目,有 4~6 名开发者,基本上是一个团队。客户想要构建微服务的应用程序,因为它们非常棒。IT 经理同意了,于是团队开始设计应用程序。

  用户管理?是的,这是一个微服务。访问权限管理?也是微服务。管理和预约?同样是微服务!通过连接到几个第三方 API 来管理和发送订单?这绝对是一个微服务。不错,现在每个人都可以得到一个微服务了!有时候你可能会违反物理学法则,每个人都有多个微服务。

  恐怖开始

  当你开始这个伟大的旅程时,你的团队需要确保每一个微服务都可以独立开发。每一个微服务都有它自己的 CI/CD 管道,自己的数据库和自己的版本化 API。

  现在,在启动一个新项目时,你可能只有一个团队。将在同一个团队中构建所有这些微服务。这种情况经常发生:一个人为了实现一个新功能而承担多个微服务。让我们就叫她 Ellie 吧。Ellie 需要在任何地方进行一些调整,同时进行测试。当她遇到问题时,她可以开始对两个微服务进行并行调试,以尝试了解它们之间的通信。如果它实际上是应用程序的一部分,那么 Ellie 就拥有一个更简单的工作环境,并且可以直接在应用程序中进行调试。此外,它还不需要为这些微服务之间的分布式、可能是异步通信编写大量定义和代码。

  之后,你的应用程序的第一个版本将提供给你的客户。当你更新应用程序并尝试开始滚动更新时,你将面临在某一时间内运行微服务的多个版本。要么它们都与其他版本兼容(这也需要在开发过程中进行一些工作),要么你需要以某种方式优雅地更新它们。

  在最坏的情况下,你正在构建一个分布式的单体应用。而且,在你的小团队里,你会发现微服务的所有缺点,但是很可能并没有从这些中获益。

  微服务的亮点在哪里?

  亚马逊和 Netflix 是最早提到他们使用微服务的大公司之一,他们解释了微服务为何如此有用。亚马逊提出了两个披萨原则,并表示:“如果两个披萨不足以喂饱一个项目团队,那么这个团队可能就显得太大了”。每个团队都应该有自己的微服务,它绝不应该在两个团队之间分割。要获得完全的所有权,团队必须对其组件及其相关的所有东西拥有完全的控制权。

  在单体应用中管理代码和依赖项,面对庞大的软件和数百人的工作,是相当麻烦的。因为微服务与其他所有东西解耦,这是一个完美的方法,可以扩展开发团队的数量。他们可以在自己的微服务上工作,使用已经构建的 API,并扩展现有产品。他们无须与其他 80 个团队中的每个决策保持一致,而且他们可能不必选择相同的技术或保持版本一致。

  微服务对于管理大型软件来说并不是必需的,而是管理大量使用这些软件的人。

  我现在该怎么办?

  但这并不意味着微服务就会陷入混乱。但是,我要你真正思考微服务对你的意义,以及你是否能从中获益。当然,它们可以为你提供许多好处,但同时也增加了许多复杂性。假如这些好处对你无关紧要,你就可以跳过它们。

  一个很好的软件开发范式是保持简单。既然可以简单地实现相同的结果,为什么还要选择更复杂的方式呢?你只会让它变得更难理解,以后也更难改变。

  微服务同样如此。既然你的团队必须处理所有微服务,并完全控制应用程序,为何还要增加微服务的复杂性?你的产品可能会增长,但是两周内它并不会成为下一个 Netflix。就像俗话所说的:“过早的优化是万恶之源”,所以不要急着优化!

  相反,享受一个相当单一的应用程序的好处。尽情享用更快的开发速度,因为你不需要担心改进微服务间的通信,不需要花费更多时间调试和测试微服务间共享通用代码的意义,不需要尝试协调复杂的分阶段微服务发布,甚至不需要在每个微服务上处理巨大的 docker 映像大小和内存需求,因为你正在使用 Spring Boot。

  你也不需要全心致力于单体或微服务。你仍可以将应用程序划分为有意义的部分 —— 甚至遵循领域驱动设计的指导原则。有了合适的架构,你的代码和模块仍然可以被恰当地解耦,并且你的应用程序符合 12 要素原则。可以在相同的应用程序中运行这些模块,可以共享相同的构建管道,只需部署一个版本即可进行部署。

  但我如何扩大规模呢?

  你发布了你的产品,而且非常成功。你希望构建更多功能并适当地扩展。你雇佣并组建了多个开发团队,你是否真的从微服务中获益?现在正是将你的应用拆分到微服务的绝佳时机。

  若你的应用程序构建正确,且不同模块已经解耦并易于理解,则拆分它们应该不会太困难。是啊,得费点功工夫。当然,你可以从一开始就直接使用微服务来避免这个问题。但是在这种情况下,你也必须从一开始就直接处理复杂的事情,并且拖拖拉拉。

  保证在适当的时候选择合适的架构并且保持简单。关注代码架构和质量。

  作者介绍:

  Manuel Reinfurt,InCloud 首席技术官。负责技术领导与创新工作。精通 Azure、.NET/C#、云计算开发。

  原文链接:

  https://medium.com/incloud-hq/the-horror-of-microservices-in-small-teams-208f6660dd5

  本周好文推荐

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
随着黎巴嫩逆转韩国+日本大胜沙特,世预赛积分榜:中国男篮升第3

随着黎巴嫩逆转韩国+日本大胜沙特,世预赛积分榜:中国男篮升第3

侃球熊弟
2026-08-28 04:02:29
江西省省长叶建春任上被查:3天前曾露面,在水利系统工作多年

江西省省长叶建春任上被查:3天前曾露面,在水利系统工作多年

界面新闻
2026-08-27 16:58:53
吉隆口岸被泥石流冲击之前青山环绕  排满货车客车

吉隆口岸被泥石流冲击之前青山环绕 排满货车客车

小星球探索
2026-08-27 11:48:47
西藏泥石流558人失联:冰川从7000米崩塌,动能太大完全没法抵御

西藏泥石流558人失联:冰川从7000米崩塌,动能太大完全没法抵御

小星球探索
2026-08-27 13:55:01
中国发现超级金矿:储量1100吨,或成全球最大金矿

中国发现超级金矿:储量1100吨,或成全球最大金矿

万物皆可科普2啊
2026-08-27 00:06:45
刘亦菲换脸视频疯传?丹麦最先出手了

刘亦菲换脸视频疯传?丹麦最先出手了

木蹊说
2026-08-27 13:43:06
前国脚申思殴打小球员 50名家长集体发声:支持申指导 别影响我们

前国脚申思殴打小球员 50名家长集体发声:支持申指导 别影响我们

念洲
2026-08-27 11:59:20
ESPN 评论员预测:这将是卢卡·东契奇在湖人队的最后一个赛季

ESPN 评论员预测:这将是卢卡·东契奇在湖人队的最后一个赛季

好火子
2026-08-28 05:29:26
孙宇晨:张继科是禁忌词!不能在景甜面前提他 她还留着他的纹身

孙宇晨:张继科是禁忌词!不能在景甜面前提他 她还留着他的纹身

念洲
2026-08-27 23:53:19
赵心童登顶世界第一,晋级武汉公开赛4强

赵心童登顶世界第一,晋级武汉公开赛4强

极目新闻
2026-08-27 22:11:15
泥石流致吉隆口岸联检大楼被毁  尼泊尔一村被夷为平地

泥石流致吉隆口岸联检大楼被毁 尼泊尔一村被夷为平地

六子吃凉粉
2026-08-27 12:18:30
水利部:尼泊尔两河交汇处现明显堰塞湖,未来3天溃泄风险高

水利部:尼泊尔两河交汇处现明显堰塞湖,未来3天溃泄风险高

界面新闻
2026-08-27 14:55:18
野心爆棚!土耳其终于出手了!乱纪元时代全面开启!

野心爆棚!土耳其终于出手了!乱纪元时代全面开启!

一个坏土豆
2026-08-26 20:25:45
美网混双改制引争议,却创7.8万观赛纪录

美网混双改制引争议,却创7.8万观赛纪录

体坛观察猿
2026-08-27 01:29:52
景甜富豪前男友身份确定!曾遭王思聪嘲笑,律师曝诉讼案件进度

景甜富豪前男友身份确定!曾遭王思聪嘲笑,律师曝诉讼案件进度

裕丰娱间说
2026-08-27 19:28:14
正负值+19!绝配杨瀚森啊!中国男篮第一双能卫

正负值+19!绝配杨瀚森啊!中国男篮第一双能卫

篮球实战宝典
2026-08-28 05:29:44
刘翔分钱的瓜爆了,震惊全网!

刘翔分钱的瓜爆了,震惊全网!

财经三分钟pro
2026-08-27 11:00:28
日本两大核太恐怖了!霍金森和八村垒合砍50分,河村勇辉好混!

日本两大核太恐怖了!霍金森和八村垒合砍50分,河村勇辉好混!

篮球资讯达人
2026-08-28 03:37:15
尼泊尔山洪死亡人数升至359人

尼泊尔山洪死亡人数升至359人

界面新闻
2026-08-27 19:47:18
中国男篮狂胜卡塔尔!产生了2个不可思议和1个事实,最新排名有变

中国男篮狂胜卡塔尔!产生了2个不可思议和1个事实,最新排名有变

侃球熊弟
2026-08-28 01:53:08
2026-08-28 06:47:00
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
12858文章数 52046关注度
往期回顾 全部

科技要闻

苹果邀请函:新CEO、折叠屏iPhone都要来了

头条要闻

孙宇晨代理律师:还钱就行 不给不可以

头条要闻

孙宇晨代理律师:还钱就行 不给不可以

体育要闻

因为这条规则,欧联冠军一个夏天散伙了

娱乐要闻

包贝尔幽会后陪老婆!曾炫耀谈7个女友

财经要闻

机构预测"过剩",市场却在疯抢废铜?

汽车要闻

搭华为ADS 5/增程纯电可选 阿尔法T7预售13.78万起

态度原创

数码
本地
时尚
教育
艺术

数码要闻

1398元起 影石Link 2 Pro/Link 2C Pro灵动白发布

本地新闻

无印良品竟是桐乡造?这座小城藏着一个刀具帝国

今年秋天最美的4条裙子,配“薄底鞋”好看又松弛!

教育要闻

深圳高校班,挤满“600+”考生

艺术要闻

《捣练图》 干最累的活,穿最雅的衣

无障碍浏览 进入关怀版