QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

微服务的概念还是偏大

  • 2015-03-29
  • 本文字数:903 字

    阅读完需:约 3 分钟

微服务的概念有些偏大,它将对组织级别的因素进行的优化与对技术因素所做的优化概念合并在一起,但对于每种类型中所产生的问题,对应的解决方案未必能够适合另一种问题。 Phil Wills QCon 伦敦大会上所进行的一场演讲中,提倡了独立的服务和单一职责应用程序的思想,而不是微服务。

Wills 是 The Guardian 公司的高级软件架构师,他表示,选择使用微服务的最终目的是希望能够生产出更实用、更可靠的软件,并且能够更快地进行交付。或者借用 Dan North 在这次大会上刚刚做完的一场演讲中的话来说:要能够可持续地交付商业影响,同时将交付周期最小化。

在 2008 年,Wills 和他的团队完成了一个项目。这是一个全新的庞大系统,虽然这个系统在许多方面都获得了成功,但他们很快发现,要将一些实验性的特性发布到生产系统上的成本太高。部分原因在于,对系统进行任何变更都要面临着一些纯粹由组织的复杂性带来的问题。有一段时期,他们甚至专门设置了一个发布经理的职位,让他进行各种必需的沟通工作,以实现每两周一次发布。为了解决这一问题,他们在系统中加入了一些占位符,可以在其中插入一些他们称之为微应用的东西,以替换系统中的某些部分。但是这种实现无法做到将各个部分完全分解,让它们的故障不影响其它部分。这就意味着每个独立的部分仍然有可能造成整个系统的停机。

对于 Wills 想象中的正确方案来说,独立的产品是一个关键的因素。这种产品的特征包括:它们具有一种稳定的、定义良好的界面,它们能够进行独立部署,并且必需自行管理数据存储系统。但这只能实现他们的整体目标中的一部分。Wills 在将整体分解为小部分的过程中受益匪浅,他提出了单一职责应用这一术语,专注于让服务保持适应性,并且因为服务足够小而容易理解。这种应用的一个特征在于,它有一个关键指标,可以用以衡量该应用是否完成了预定的任务。另一个特征是它们必须彼此隔离,不允许影响其它应用程序的性能。

Wills 在结语中表示,他看到一个优秀的团队如何创建出一个庞大的整体系统,但也看到了一个优秀的团队如何创建出由大量微服务所组成的系统。而他的聪明之处在于他更倾向于后者,这一点也使他感到十分自信。

查看英文原文 Microservices Are Conceptually Too Big

2015-03-29 08:502072
用户头像

发布了 428 篇内容, 共 180.7 次阅读, 收获喜欢 39 次。

关注

评论

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

如何整理自己的前端面试题库

Geek_02d948

JavaScript 前端

js函数式编程讲解

hellocoder2029

JavaScript 前端

前端二面经典面试题指南

hellocoder2029

JavaScript 前端

EasyRecovery2023手机版数据恢复软件下载

茶色酒

EasyRecovery Photo16

如何应对突发的流量激增和服务器过载问题

NGINX开源社区

nginx 流量 应用交付 企业号 2 月 PK 榜

堡垒机采购注意事项说明-行云管家

行云管家

网络安全 数据安全 堡垒机

MatrixOne 0.7.0: 更稳定,性能更优

MatrixOrigin

数据库 分布式 MatrixOrigin MatrixOne

PGLBox 超大规模 GPU 端对端图学习训练框架正式发布

百度Geek说

百度飞桨 框架学习 企业号 2 月 PK 榜

使用JAVA读取和写入EXCEL文件

石臻臻的杂货铺

Java

Memblaze 联合 OpenCloudOS 完成技术兼容互认证

OpenCloudOS

Linux SSD

NGINX Ingress Controller 在动态 Kubernetes 云环境中的性能测试

NGINX开源社区

nginx NGINX Ingress Controller 企业号 2 月 PK 榜

2023秋招前端面试必会的面试题

coder2028

JavaScript 前端

ATC:一个能将主流开源框架模型转换为昇腾模型的神奇工具

华为云开发者联盟

人工智能 华为云 昇腾 企业号 2 月 PK 榜 华为云开发者联盟

字节前端经典面试题(附答案)

hellocoder2029

JavaScript 前端

webpack热更新原理(面试大概率会问)

Geek_02d948

JavaScript 前端

碎片化NFT系统开发模式定制智能合约部署详情

开发微hkkf5566

中创中间件:基于鲲鹏DevKit开发统一监管平台,性能提升55%

Geek_2d6073

美团前端面试题集锦

coder2028

JavaScript 前端

全新CorelDRAW2023矢量图软件更新内容介绍

茶色酒

CorelDraw2023

CDR2023安装下载教程及CorelDRAW功能介绍

茶色酒

CorelDraw2023

软件测试 | 持续集成的开源方案攻略(二)jenkins pipeline

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

测试

利用规则引擎的M2M实现设备之间联动——实践类

阿里云AIoT

小程序 物联网 智能硬件 网络性能优化

【立哥】【每日一个小知识】铁扇公主和太上老君到底是什么关系?

Lee Chen

物联网平台华南1(深圳) 实例化开发实战——实践类

阿里云AIoT

监控 物联网 开发工具 智能硬件 消息中间件

webpack配置优化,让你的构建速度飞起

Geek_02d948

Nodejs:ESModule和commonjs,傻傻分不清

coder2028

JavaScript 前端

PingCAP 唐刘:一个咨询顾问对 TiDB Chat2Query Demo 提出的脑洞

PingCAP

TiDB

行云管家免费吗?安全吗?好用吗?

行云管家

安全 行云管家 行云管家堡垒机

koa实战

coder2028

JavaScript 前端

js作用域、作用域链和它的一些优化

hellocoder2029

JavaScript 前端

植根中国,开放合作,英特尔中国开源技术委员会成立

科技之家

微服务的概念还是偏大_架构_Jan Stenberg_InfoQ精选文章