速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

微服务架构宜缓行

  • 2015-06-15
  • 本文字数:989 字

    阅读完需:约 3 分钟

前不久,ThoughtWorks 首席科学家 Martin Fowler 发表了一篇博文,探讨 MonolithFirst 策略。他写道:

除非你的系统太复杂,作为单体应用会很难管理,否则不要考虑微服务。绝大多数软件系统都应该构建为单体应用。要注重在单体应用中实现良好的模块化,但不要试图将其拆分成单独的服务。

Tyler Treat 是来自 Workiva 的一名软件开发人员,同时也是咨询公司 Clarion Media 的创建者。近日,他发表了一篇博文《非面向服务的架构》(DOA)。文中,他对Fowler 的观点表示了赞同,同时他指出,团队迫不及待地采用微服务架构,一个原因是像Fowler 所说的那样,他们不了解微服务的固有开销,另外一个原因是他们只看到了像Netflix 公司这样的成功案例,却没有意识到那些公司并不是从微服务开始的,也就是说,是“微服务妒羡(microservice envy)”导致团队作出了那样的选择。

微服务确实有许多优点:“反脆弱性(anti-fragility)”、容错、独立部署与扩展、架构抽象、技术隔离。但并不是说采用了微服务就自然地具备了这些特性。比如,要具备反脆弱性,需要充分考虑分布式系统的不确定性,清楚异步、网络划分、节点故障、平衡可用性与数据一致性等问题。同样地,要具备可维护性和可扩展性,首先要有恰当的基础设施和组织结构。理论上讲,微服务可以提高开发速度,但在创建组织依赖时,“微服务佣金(MicroservicePremium)”可能会降低开发速度。所以,采用微服务架构需要具备一些先决条件,包括恰当的持续发布管道、能胜任的DevOps 和Ops 团队、审慎的服务边界等等。此外,周密的测试和集成模式也很重要。

而提到“单体(monolith)”,人们就会想到不可扩展、不可维护、缺乏弹性。但实际上,只要规模合理,单体系统也可以具有模块化、可维护、容错等特性。

因此,Treat 认为,自下而上的方法是一种更好的微服务实施策略。像Fowler 所说的那样,从单体或一个粗粒度服务的小集合开始,在有了足够的服务维护和部署经验后,再逐步分离出更细粒度的服务。

总之,微服务需要很高的组织和系统成熟度。否则,匆忙采用只能创建出一个“非面向服务的架构(disservice-oriented architecture)”。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-06-15 21:302493
用户头像

发布了 1008 篇内容, 共 392.6 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

加氢站管理系统(源码+文档+部署+讲解)

深圳亥时科技

Axure RP 9 for Mac(交互原型设计软件)

Mac相关知识分享

Microsoft Office 2019 免激活版 永久使用-mac/win

理理

剂方管理系统(源码 + 文档 + 部署 + 讲解)

深圳亥时科技

Axure RP 9:交互设计神器焕新登场,重塑产品体验蓝图

理理

JProfiler for Mac(专业 Java 性能分析软件)

Mac相关知识分享

解决WSL2占用内存过多问题(Docker on WSL2: VmmemWSL)

百度搜索:蓝易云

易未央 -AI 風雲:21. 人性與AI的對抗

因田木

AI

踏入 Photoshop 2024 时代,重塑视觉艺术新高度

理理

Photoshop 2021下载安装(ps 2021中文直装版)

理理

Navicat Premium:以卓越功能,铸就数据库操作新高度

理理

智能会计精细核算,明细级核算夯实数据基础

用友智能财务

财务 企业数智化

Linux安全加固:保护你的服务器

百度搜索:蓝易云

Downie 4:专业级视频下载神器,掌控网络视频流

理理

苹果电脑系统下载安装-macOS Big Sur 11

理理

产品经理如何去管理需求池

易成研发中心

需求管理

数据飞轮:互联网企业降本增效的数智化新范式

字节跳动数据平台

谷歌访问助手:为你拓宽全球视野,便捷触达谷歌资源

理理

面对需求的频繁变更,如何做好项目管理

易成研发中心

项目管理 需求管理

vm虚拟机下载安装 附VMware Fusion Pro 13密钥

理理

淘宝商品API接口的对接及收益

科普小能手

淘宝 淘宝商品数据接口 淘宝商品描述接口 淘宝商品列表接口 淘宝商品API

Linux下安装navicat

百度搜索:蓝易云

Linux内核源码分析 (B.11) 从内核世界透视mmap内存映射的本质(原理篇)

百度搜索:蓝易云

中文永久版Autodesk AutoCAD 2021 mac下载及安装教程 附cad2021密钥

理理

基于PP-ShiTuv2新增PaddleX图像识别模型产线,显著提升商品识别等细粒度开放域产业场景检索性能

百度Geek说

企业内部网盘搭建:最受欢迎的8大系统工具推荐

易成研发中心

Media Encoder 2021 for Mac(ME 2021)中文版

Mac相关知识分享

集团企业身份管理体系的组织协同能力不足

芯盾时代

iam 统一身份管理平台

Final Cut Pro(fcpx视频剪辑) - 专业剪辑王者,释放创意无限潜能

理理

你可能不知道 xz 也是一种压缩格式,并且还相当惊艳

左诗右码

kubeadm部署k8sv1.24使用cri-docker做为CRI

百度搜索:蓝易云

微服务架构宜缓行_SOA_谢丽_InfoQ精选文章