9 月 13 日,2025 Inclusion・外滩大会「开源嘉年华」正在限量报名中! 了解详情
写点什么

微服务的概念还是偏大

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

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

关注

评论

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

python中find_element()和find_elements()的区别

Geek_6370d5

Python

Hudi on Flink 快速上手指南

Apache Flink

flink

【技术面对面】基于场景图的多物体图像生成技术

京东科技开发者

云计算

Python基础之:Python中的异常和错误

程序那些事

Python Python3 程序那些事

Java学习之路 -- Java怎么学?

秦怀杂货店

Java 编程 基础 书籍

面试官:说说JavaScript中的事件模型

我家有萌🐱

JavaScript 面试 大前端 js

常用的视频剪辑软件介绍,自媒体必备工具!

奈奈的杂社

首站重庆聚焦智慧物流、呈现最新AI能力

百度大脑

AI 百度大脑

EGG NETWORK阿凡提超级公链  EFT流量通证信息完全公开源

币圈那点事

一次客户需求引发的K8s网络探究

京东科技开发者

云计算

实战案例丨分布式系统中如何用python实现Paxos

华为云开发者联盟

Python 算法 分布式系统 PAXOS 集群库

一位入职蚂蚁金服,年薪180万的大佬扔给我的笔记,看完发现差距不止一点点!

Java架构追梦

Java 阿里巴巴 架构 面试

2021突击银四必备:BAT900道Java面试清单!免费开放

比伯

Java 编程 架构 面试 计算机

中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先

Serverless Devs

阿里云 Serverless 云原生

零信任提升组织的数字安全性

龙归科技

网络 数字时代 零信任

“广度”和“深度”,是我最终选择蚂蚁的理由

DT极客

Java 并发系列(二):DCL — Double Check Lock

TroyLiu

Java volatile 多线程 synchronized DCL

科技赋能城市建设,英特尔正式发布智慧社区解决方案参考架构

E科讯

软件架构中的模块与组件

Simon

架构实战营

Elasticsearch详细剖析

大数据技术指南

ES 3月日更

在开源的公链上实现隐私保护?静看NA公链 NAC公链创新之路应如何蜕变

区块链第一资讯

银四30天,苦心啃透java高级工程师面试1000题,涨薪10K很难吗?

Java 编程 程序员 架构 面试

百度飞桨中国行南京站开启!共研AI赋能产业新模式

百度大脑

百度 AI 飞桨

LDO和DC-DC有什么不同?如何选型?

不脱发的程序猿

28天写作 3月日更 LDO DC-DC 电源转换

Mongodb特定场景性能数十倍提升优化实践(记一次十亿级mongodb核心集群雪崩故障)

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 架构 分布式数据库mongodb

【签约计划】技术编辑能力考核成绩公布

InfoQ写作社区官方

签约计划 热门活动

Rust从0到1-基础概念-注释

rust 代码注释

JVM-技术专题-Class文件加载虚拟机

码界西柚

JVM Class字节码

微服务时代组件化和服务化的抉择

vivo互联网技术

微服务 组件化 服务化 服务调用

Python+OpenCV检测灯光亮点

不脱发的程序猿

Python OpenCV 28天写作 3月日更 检测灯光亮点

你真了解开源许可证吗?

郭旭东

开源

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