写点什么

微服务的概念还是偏大

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

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

关注

评论

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

Zookeeper 客户端错误:Packet len8854970 is out of range!

看山

zookeeper 10月月更

DeFi智能合约DAPP系统开发公司(现成)

第 22 章 -《Linux 一学就会》- 跳出循环-shift参数左移-函数的使用

学神来啦

Linux linux运维 linux云计算 linux一学就会

Groovy动态添加方法和属性及Spock单测

FunTester

Java 动态 spock Groovy FunTester

2021年Android大厂面试分享,实战篇

android 程序员 移动开发

2021年GitHub上那些优秀Android开源库总结,花2万块买的教程

android 程序员 移动开发

2021年字节跳动+京东+美团面试总结,查漏补缺

android 程序员 移动开发

Prometheus 内置函数(一)

耳东@Erdong

Prometheus 10月月更

Vue进阶(幺肆伍):Vue-elementUI实现操作栏位更多效果

No Silver Bullet

Vue 10月月更

2020-2021蚂蚁金服Android面试真题解析,使用指南

android 程序员 移动开发

2021年Android程序员职业规划,Android开发技巧

android 程序员 移动开发

2021年大厂程序员进阶宝典,真是经典中的经典

android 程序员 移动开发

谈 C++17 里的 Chain of Responsibility 模式

hedzr

设计模式 Design Patterns 职责链模式 c++17 消息分发

Go 中如何使用结构体标签

baiyutang

golang 10月月更

全球6G专利独占4成,中国能否借此“制霸”元宇宙?

海比研究院

2021年Android高级面试题,成功入职字节跳动

android 程序员 移动开发

看了CopyOnWriteArrayList后自己实现了一个CopyOnWriteHashMap

root

Java 程序员 CopyOnWrite;

架构实战营-模块一

瓜子葫芦侠

「架构实战营」

2021年Android春招面试经历,阿里秋招面试真题解析

android 程序员 移动开发

2021年大厂程序员进阶宝典,Android开发基础面试题

android 程序员 移动开发

Vue进阶(幺肆肆):(window,parent,opener,top).location.reload方法分析

No Silver Bullet

Vue 页面刷新 10月月更

解密诡异并发问题的幕后黑手:可见性问题

华为云开发者联盟

并发编程 线程 并发 可见性 单核CPU

Python代码阅读(第43篇):构造组合函数

Felix

Python 编程 Code Programing 阅读代码

阿里云边缘云ENS再升级 产业数字化落地向何方?

阿里云Edge Plus

你真的会 Prometheus 查询吗?--PromQL 合集

耳东@Erdong

Prometheus PromQL 10月月更

Defi挖矿系统开发简介(现成案例)

在 pygame 中好好玩玩精灵,滚雪球学 Python 游戏番

梦想橡皮擦

10月月更

在线字符串长度计算,字符串统计工具

入门小站

工具

Apache APISIX 助力有赞云原生 PaaS 平台,实现全面微服务治理

API7.ai 技术团队

云原生 PaaS API网关 Apache APISIX

2021年大厂程序员进阶宝典,flutter面试题

android 程序员 移动开发

linux之xargs使用技巧

入门小站

Linux

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