写点什么

微服务的概念还是偏大

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

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

关注

评论

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

kafka是怎么做到基于磁盘却比内存还快的?

做梦都在改BUG

kafka 内存 磁盘

架构误区系列14:纯代码视角的复用

agnostic

复用

架构误区系列15:生造的业务概念

agnostic

服务设计

一座海上营业厅,一个女孩独自守望的十九年

脑极体

5G 智慧农业

堪称神级!GitHub上标星157K的Java教程,全程干货,只讲重点

做梦都在改BUG

Java

What's new in dubbo-go-pixiu v0.6.0

apache/dubbo-go

dubbo dubbo-go dubbogo

SpringBoot+ThreadPoolTaskExecutor 批量插入百万级数据实测

做梦都在改BUG

Java Spring Boot 多线程 ThreadPoolTaskExecutor

写给 go 开发者的 gRPC 教程 - 错误处理

凉凉的知识库

Go 微服务 gRPC RPC RPC框架

在文心一言出生地,百度悄悄燃烧AI小宇宙

脑极体

百度 文心一言

Camtasia2023最新版下载使用教程

茶色酒

Camtasia2023

新增 – 使用基于用户的许可证模式在 Amazon EC2 上运行 Visual Studio 软件

亚马逊云科技 (Amazon Web Services)

DawnSql在数据治理中的优势

陈飞

微服务架构 分布式数据库 架构设计 数据治理 分布式缓存

手把手教你使用 Python 调用 ChatGPT-3.5-API

老表

Python GPT-3 ChatGPT

2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等

汀丶人工智能

自然语言处理 数据标注

从ChatGPT到AIGC,是一次技术革命也是一次创业浪潮 | 社区征文

打工人!

人工智能 AIGC AI绘画 ChatGPT New Bing

FL Studio21.0.0水果中文版发布更新下载

茶色酒

FL Studio21.0.0

mysql锁及数据一致性总结

阿呆

MySQL innodb 数据一致性 事务/行级锁 脏读

大专毕业,0基础转行C++程序员一个月后,我后悔了

程序员晚枫

程序员 转行 C++ STL

Adapter基础讲解

芯动大师

mvc Adapter arrayadapter

一文彻底弄清楚分布式锁

做梦都在改BUG

Java 分布式锁

再有人问你什么是分库分表,直接把这篇文章发给他

做梦都在改BUG

Java 分库分表

赞不绝口!仅靠阿里P9分享的 Redis 工作手册,拿到60W年薪Offer

做梦都在改BUG

Java 数据库 redis 缓存 面试

Spring Boot 整合流程引擎 Flowable,so easy

做梦都在改BUG

Java Spring Boot 流程引擎 flowable

Nautilus Chain即将上线,一文盘点其六大优势

西柚子

什么是数字产品?

涛哥 数字产品和业务架构

数字化转型 数字产品

字字珠玑!GitHub爆赞的网络协议手册,被华为大佬指定内部必学?

做梦都在改BUG

Java 计算机网络 网络协议

爱不释手!阿里十几位大牛联玦整理—23年最全面试八股文合集

做梦都在改BUG

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

从理论到实践:MySQL性能优化和高可用架构,一次讲清

做梦都在改BUG

Java MySQL 数据库 面试 性能优化

为什么 MyBatis 源码中,没有我那种 if···else

程序知音

数据库“啃”不动?CnosDB带你轻松阅读十万行源码!

CnosDB

IoT 时序数据库 开源社区 CnosDB

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