限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

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

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

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

关注

评论

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

B站&华为云 | 融合虚实宇宙,开启云上视听的黄金时代

脑极体

AI B站 华为云

生成式 AI:改变未来的力量| 社区征文

度假的小鱼

年中技术盘点

关于新兴技术对我们生活和工作方式的改变 | 社区征文

fifoaa

年中技术盘点

MVCC

陈皮

AI大模型应用开发实战营第一周作业

panxiaochun

浅谈大模型时代的后台技术发展|社区征文

后台技术汇

年中技术盘点

矿炼真金色,终见菩提心:首个商用的矿山大模型是怎样炼成的?

脑极体

AI 大模型

Nautlius Chain主网正式上线,模块Layer3时代正式开启

鳄鱼视界

软件测试 | Java开发环境搭建

测吧(北京)科技有限公司

测试

RocketMQ 事务消息导致事务消息阻塞 BUG 排查

陈皮

RocketMQ bug 事务消息

成功实践丨虚实交互,安擎赋能城市交通大数据应用

科技热闻

基于Qt编写超精美自定义控件

芯动大师

百度与软通动力达成战略合作,共同探索大模型产业化落地

彭飞

全加器

陈皮

质效两全:媒体服务的创新“顶设”

阿里云CloudImagine

云计算 视频云

软件测试 | 一个简单的Java范例

测吧(北京)科技有限公司

测试

2023-07-19:布尔表达式 是计算结果不是 true 就是 false 的表达式 有效的表达式需遵循以下约定: ‘t‘,运算结果为 true ‘f‘,运算结果为 false ‘!(subExpr

福大大架构师每日一题

福大大架构师每日一题

XR应用云流化如何提升扩展现实体验?!

3DCAT实时渲染

实时渲染云 XR应用云流化

软件测试 | Java程序的运行机制和Java虚拟机

测吧(北京)科技有限公司

测试

@Lazy 注解为啥就能破解死循环?

江南一点雨

Java spring

KCL v0.5.0 重磅发布 - 面向云原生场景更易用的语言、工具链,社区集成和扩展支持

Peefy

开源 DevOps 云原生 编程语言 Kubernetes Serverless

如何写出一手好代码(上篇-理论储备)?

慕枫技术笔记

后端 7月日更

百度智能云 X 软通动力:将结合大模型开发多领域智能应用

科技热闻

软件测试 | 编写第一个Java程序

测吧(北京)科技有限公司

测试

全部免费!整理了10个Python自动化办公库!(下)

程序员晚枫

Python 工具 机器人 自动化办公

在 Amazon 上以高可用性模式实现 Microsoft SQL 数据库服务现代化的注意事项

亚马逊云科技 (Amazon Web Services)

Amazon

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