写点什么

微服务与单片应用之间的较量

  • 2014-08-22
  • 本文字数:800 字

    阅读完需:约 3 分钟

采用微服务是分解单片应用(monolithic application)的一种方式。这样做可以获得更高的解耦程度、关注点分离,以及快速部署等优势。但是,这并不是唯一也不是最好的方式。 Todd Hoff 对这两种架构方式进行了描述与比较

Todd 提到了今年早些时候在 twitter 上发生的一场辩论,这场辩论的参与者包括了 Adrian Cockcroft Sam Newman John Allspaw ( Etsy ),他们对微服务和单片应用之间的优缺点进行了比较。该辩论首先由 Adrian 发起,他声称在听了 QCon 伦敦 Etsy 的演讲之后,让他更清晰地认识到为什么单片应用是一个死胡同,而微服务应该可以取而代之从而能获得持续的可伸缩的部署。John 则指出,虽然微服务带来了更多的选择,但同时引入了更多的约束。而少量较容易理解的工具和模式反倒能带来优势。

Todd 将 Etsy 描述为一家成功的公司,因为该公司拥有着大约 150 个工程师,并且每天会部署超过 60 次的单个单片应用。在他的印象中,虽然很多人将单片应用视为反模式,但是 Etsy 通过采用例如持续集成、自动化部署、良好的监控等手段构建了这个大型的网站,并且做得很好,而且他们基本上都是从主分支进行部署的。

一个用于针对所谓的单片应用问题的解决方案是将它分解成一系列微服务,从而达到松耦合和独立部署这样的目标。但是 Todd 提出了质疑,微服务是达到上述目标的唯一或者最好的方式吗?他指出 Etsy 一天发布多次小型变更的方式也是可选方式的一个现成的例子。

Todd 强调 Etsy 目前一直在单片应用的方式下工作地很好,从而表示了对单片方式的支持。因为即使是在一个单片应用中,复杂度也可以被封装到每个服务之中。他将服务与代码库进行了比较,并表示只要是足够稳定的接口,也可以像拥有自己生命周期的独立产品一样对待。一旦接口发生变化,不管是使用代码库还是服务,新的版本就会创建。Todd 相信,只要基于合适的软件工程,单片的程序也可以工作地很好。

查看英文原文: Microservices vs Monolithic Applications

2014-08-22 00:391483
用户头像

发布了 52 篇内容, 共 22.9 次阅读, 收获喜欢 5 次。

关注

评论

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

技术创新,让企业拥有智能“伯乐”,实现精准识人

用友BIP

Spring Boot或Spring Cloud快速实现文件上传

做梦都在改BUG

Java Spring Cloud Spring Boot

又一个开源第一!飞桨联合百舸,Stable Diffusion推理速度遥遥领先

百度Geek说

人工智能 开源 PaddlePaddle 企业号 3 月 PK 榜

【征文大赛】TiDB 社区第二届征文大赛,一次性带走社区全部新周边,还有bose 降噪耳机、倍轻松按摩仪等你拿!

TiDB 社区干货传送门

面向状态机编程:复杂业务逻辑应对之道

京东科技开发者

接口 istio 灰度发布 状态机 企业号 3 月 PK 榜

软件测试/测试开发丨后端Web开发框架(Java)

测试人

软件测试 springboot 测试开发

手把手教你基于luatos的4G(LTE Cat.1)模组接入华为云物联网平台

华为云开发者联盟

物联网 华为云 华为云开发者联盟 企业号 3 月 PK 榜 4G

GitHub险崩盘,竟是因网易大牛「Redis应用与深度实践笔记」泄露

做梦都在改BUG

Java 数据库 redis 缓存 面试

基于 Istio 的灰度发布架构方案实践之路

京东科技开发者

微服务 istio 灰度发布 企业号 3 月 PK 榜

FinOps首次超越安全成为企业头等大事|云计算趋势报告

SEAL安全

云计算 云成本 FinOps 企业号 3 月 PK 榜

数据库国产替代涌入千军万马 亚信科技CEO高念书:非头部企业将难以生存

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

58个实例+2个项目,带你深入技术原理,彻底搞懂Spring Boot

做梦都在改BUG

Java spring 微服务 Spring Boot 框架

怎样判断led显示屏防火性能的好坏

Dylan

行业 LED显示屏 市场

国家基础学科公共科学数据中心与和鲸科技共建数据社区

ModelWhale

数据 科学分析 社区 合作

脚本调用工具:FastScripts 直装版

真大的脸盆

Mac 脚本 Mac 软件 Mac 系统

通过Chaos-Mesh打造更稳定TiDB数据库高可用架构(一)

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 扩/缩容 数据库架构设计

BSN-DDC基础网络详解(五):接入DDC网络(1)

BSN研习社

【信创小知识】国产化和信创是一回事吗?怎么理解?

行云管家

信创 国产化

PCB焊盘设计应掌握哪些要素?

华秋电子

TIDB升级发生故障时,快速强行回退方案

TiDB 社区干货传送门

实践案例

对TiDB监控方式的一点点研究

TiDB 社区干货传送门

监控 TiDB 源码解读

高效基于scrum的项目管理工具分享

顿顿顿

Scrum 敏捷开发 项目管理工具 项目管理软件、 leangoo

22年阿里高频Java面试题总结:分布式+中间件+高并发+算法+数据库

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

坏了!面试官问我垃圾回收机制

做梦都在改BUG

Java JVM 垃圾回收

「 项目管理 」项目立项前需要思考的9个问题

小刘学编程

项目管理 pmp 项目经理

增强认证--MQTT 5.0新特性

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 增强认证

坚如磐石:TiDB 基于时间点的恢复(PiTR)特性优化之路丨6.5 新特性解析

TiDB 社区干货传送门

新版本/特性解读

NebulaGraph:打造灵活弹性的云原生图数据库,与阿里云计算巢共同拥抱开放生态

云布道师

数据库 阿里云

阿里三面被面试官狂问Redis,简历上再也不敢写"精通"了

做梦都在改BUG

Java 数据库 redis 缓存 面试

Spring源码分析-BeanFactoryPostProcessor

做梦都在改BUG

Java spring spring源码

买了等保安全设备就一定安全吗?就一定能抵御网络风险呢?

行云管家

网络安全 等保 等级保护

微服务与单片应用之间的较量_SOA_Jan Stenberg_InfoQ精选文章