写点什么

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

  • 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:391590
用户头像

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

关注

评论

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

Prometheus Exporter (十五)PostgreSQL Server Exporter

耳东@Erdong

Prometheus postgres 28天写作 exporter 12月日更

架构实战营 - 毕业设计

en

#架构实战营

Java应用线上事故排查实战

JavaEdge

内容合集 签约计划第二季

架构实战营 - 毕业总结

en

#架构实战营

『新华报』秒速飞艇开奖结果官网[手机乐乎]

天马行空

秒速飞艇开奖结果官网

DDD领域驱动设计落地实践系列:工程结构分层

慕枫技术笔记

后端 架构师 签约计划第二季

大厂算法面试之leetcode精讲20.字符串

全栈潇晨

算法 LeetCode

复制流动改变世界

mtfelix

28天写作

一图看懂软件缺陷检查涉及的内容

Tom(⊙o⊙)

软件安全 静态代码检查

『新华报』北京飞艇赛车微信群[手机乐乎]

天马行空

北京飞艇赛车微信群

『新华报』重庆试试彩官方平台[手机乐乎]

天马行空

重庆试试彩官方平台

『新华报』飞艇开奖结果官网[手机乐乎]

天马行空

飞艇开奖结果官网

『新华报』一分飞艇怎么操作的[手机乐乎]

天马行空

一分飞艇怎么操作的

『新华报』回血上岸导师[手机乐乎]

天马行空

回血上岸导师

『新华报』秒速飞艇开奖[手机乐乎]

天马行空

秒速飞艇开奖

Prometheus Exporter (十六)Microsoft SQL Server Exporter

耳东@Erdong

microsoft Prometheus 28天写作 exporter 12月日更

『新华报』赛车飞艇群[手机乐乎]

天马行空

赛车飞艇群

『新华报』不建议强制上岸[手机乐乎]

天马行空

不建议强制上岸

聊聊 Kafka: Kafka 的基础架构

老周聊架构

签约计划第二季

【Dart 专题】Map 集合小结~

阿策小和尚

28天写作 0 基础学习 Flutter Android 小菜鸟 12月日更

新知识的地图绘制

Nydia

『新华报』飞艇分析工具[手机乐乎]

天马行空

飞艇分析工具

react源码解析13.hooks源码

buchila11

React React Hooks

现实扭曲力场引论

Justin

群体心理学 28天写作 玄学

大厂算法面试之leetcode精讲19.数组

全栈潇晨

算法 LeetCode

请清晰沟通选题-从策略层面定义技术演讲

将军-技术演讲力教练

圣迪

用错误的动作,让正确的事情发生(3/28)

赵新龙

28天写作

举重若轻流水行云,前端纯CSS3实现质感非凡的图片Logo鼠标悬停(hover)光泽一闪而过的光影特效

刘悦的技术博客

CSS html css3 LOGO HTML5, CSS3

看动画学算法之:二叉搜索树BST

程序那些事

数据结构 算法 程序那些事 12月日更

react源码解析14.手写hooks

buchila11

React React Hooks

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