AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

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

关注

评论

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

高校云桌面的“正确打开方式”是什么?

青椒云云电脑

云桌面 云桌面方案

百度智能云千帆社区上线有礼,助力开发者开启大模型之路!

科技热闻

Databend 开源周报第 110 期

Databend

议题征集|Flink Forward Asia 2023 正式启动

Apache Flink

flink

云迁移?是技术问题也是团队问题

在天涯的海角

腾讯云 CODING 入选“数智影响力”数字化转型创新典型案例

CODING DevOps

基于Vue3前后端分离的低代码开发框架

互联网工科生

Vue 软件开发 低代码 JNPF

INFINI Easysearch 与兆芯完成产品兼容互认证

极限实验室

easysearch 兆芯 国产适配

Ask Milvus Anything!聊聊被社区反复@的那些事儿 Ⅰ

Zilliz

非结构化数据 Milvus 向量数据库 deepdive

Footprint Analytics 为 ABGA Web3 Gaming Summit 提供支持,助力 Web3 游戏行业发展

Footprint Analytics

9月24日,线下见个面?

MatrixOrigin

数据库 分布式 MatrixOrigin MatrixOne

关于身心灵学习的感悟1

程序员在修行

Last Week in Milvus

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

数字化转型与架构-架构设计篇|如何开发一个各部门都满意的系统?

数字随行

数字化转型

数据通信网络之IPv6以太网单臂路由

timerring

数据通信网络

为什么越来越多的学校使用云桌面?

青椒云云电脑

桌面云 云桌面

英特尔产品组合针对多规模AI模型性价比优势明显

E科讯

从构建者到设计者的低代码之路

树上有只程序猿

软件开发 低代码

用AI提高代码质量,同事对我的代码赞不绝口~

飞算JavaAI开发助手

Mybatis中传递多个参数的4种方法

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

不知道该选公有云还是私有云?这些客户请选私有云

青椒云云电脑

桌面云 云桌面

一文读懂私有云、公有云和本地化部署

青椒云云电脑

公有云 私有云

【转载】JVM实际内存占用超过Xmx的原因,设置Xmx的技巧

虚实的星空

Java

ARTS 打卡第四周

程序员在修行

使用消息队列有什么优点?有什么缺点?

程序员在修行

从实时监控到智能洞察:Grafana 和 CnosDB 的无限潜力

CnosDB

时序数据库 开源社区 CnosDB

亚信科技与中国信通院达成全方位、跨领域战略合作

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

序列化与反序列化一棵树

程序员在修行

英文阅读 The manager's path 1.3

程序员在修行

828 B2B企业节,华为云如何提升生态合作伙伴的综合竞争力?

YG科技

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