10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

微服务和软件开发目标

  • 2015-03-12
  • 本文字数:1092 字

    阅读完需:约 4 分钟

Dan North QCon 伦敦大会的演讲中说,软件的目标就是持续地使筹建时间减至最少以产生积极的商业影响,其他事情都是具体细节。他描述了有关代码推理的方法及其如何适应于微服务架构风格。

对IT 业思想先驱North 来说,软件开发的目标就是创造商业影响,这里引用了Gojko Adzic 在其著作《影响地图》中的流行语。商业影响在组织的内部(比如新客户)或者降低运营成本的效果是可见的。软件开发的目标是实现这一商业影响,或者更具体地最小化筹建时间,即从发现商机到完成解决方案的时间。这样做上几次是容易的,难在持续这样做,这推导出North 前述的软件开发的目标。

North 将代码分为三类,一种是你最新写的并且很熟悉;一种是 North 称其为 fabric 的、每个人都熟悉、代码附有充分的测试和文档;一种是没人熟悉的,依赖不明确且牵一发而动全身。对 North 而言,软件开发中最大的问题是第三类代码,没有人熟悉代表着成本和争端。从 North 的观点得出,代码要么稳定要么干掉,永远不要使其成为第三类,未知的代码。因而,North 搬出了几个模式来支持这一观点并将其引入到微服务之中。

第一种模式是短软件半衰期,参照物理学和不稳定原子衰变之快。North 相信代码应该有一个非常短的软件半衰期,以突显目标明确的代码最重要的是可以被推导的、可以存意使其稳定或将其废弃。他强调,理解的代码的目的是非常重要的。

第二种模式是如我所想(fits in my head),这是引自 James Lewis 的表达。这种模式是关于推理代码能力的;推理大系统的一种方法是将其分解,另一种方法是简化问题或者忽略大的部分而每次关注一个小的特定部分。同样的原理可以用于不同规模上的推理,如何定义一个方法的功能、如何建模一项工程、如何建模通信机制等等。

North 从他的推理中定义了一种架构风格,他称其为可替换的组件架构,通过上下文一致可以很好地将短期软件半衰期和如我所想两种模式结合在一起。所有的组件都是完全可以替换的,它们包装在隐藏内部细节的 API 中,并通过发送消息相互通信。这些组件就像微小的电脑一样传递信息,North 强调了 30 年前 Alan Kay 是如何定义的面向对象(OO)编程的。

微服务可作为一种可替换的组件架构,当优化替换性和一致性时,这两块儿都可以作出每日选择。North 认为使用微服务存在一个概念上的错误,微意味着更小并不总是最好的,更应该是可替换的更好。

查看英文原文: http://www.infoq.com/news/2015/03/microservices-software


感谢丁晓昀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-12 00:572350

评论

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

双良集团与用友达成企业AI战略合作

用友BIP

智能体 数智化 用友BIP 企业AI

致程序员的一封信:如何持续获得AI编码进阶技术

飞算JavaAI开发助手

OgPhone云手机是怎样避免TikTok封号以及提高效率的?

Ogcloud

云手机 海外云手机 tiktok云手机 tiktok运营 tiktok封号

Multitouch for Mac:让操作更智能、更高效

小玖_苹果Mac软件

Gartner:生成式AI分析市场正向DataScience Agent进化

AI数据云Relyt

Data 智能数据湖 analytics #数据分析 datascience

HTNN 如何斟酌出更好的插件扩展机制

SOFAStack

首创!中国华电“智能+”人才市场信息平台完成部署!

用友BIP

数智化 用友BIP 智能+ 人才市场

文献解读-Chromosome-Scale Genome of Masked Palm Civet (Paguma larvata) Shows Genomic Signatures of Its Biological

INSVAST

基因检测 Sentieon 变异检测 生物信息分析服务 分子机制

提高TikTok运营效率的七大工具推荐

Ogcloud

TikTok 海外云手机 tiktok运营 TikTok矩阵运营 tiktok运营工具

云原生低代码平台架构演进:某跨国企业DevOps效能提升背后的分层可视化设计模式

不在线第一只蜗牛

云原生 低代码

Log/Trace/Metric 完成 APIServer 可观测覆盖

阿里巴巴云原生

阿里云 云原生

DeepSeek风起时,读懂天翼云的国云担当

脑极体

AI

构筑全球化数智化运营能力,用友携手伙伴共拓全球市场

用友BIP

AI+ 数智化 出海 用友BIP

无代码工具怎么选?23 款热门工具对比 + 选型指南(2025)

NocoBase

开源 低代码 开发工具 无代码 选择指南

AI会带给我们一个什么样的未来

葛飞

AI DeepSeek

VMware Fusion 13.6.3 发布下载,现在完全免费无论个人还是商业用途

sysin

fusion

工作流调度必看!2025年这四大核心趋势你不能不懂

白鲸开源

大数据 开源 Apache DolphinScheduler 工作流调度系统

低代码可视化编辑器,简化范式化流程以及重复性工作

伤感汤姆布利柏

1688快递费用API 接口(1688API系列指南)

tbapi

1688API 1688快递费用接口 1688运费接口

你还只会用AI来写Java冒泡排序算法吗?

飞算JavaAI开发助手

场景题:有40亿个QQ号如何去重?仅1GB内存

卷福同学

Java 面试 社招

Gemini AI 升级视频提问和屏幕共享功能;Voice+Visual Agent Demo:语音对话与视觉互动元素结合丨日报

声网

10 分钟搞定优惠券营销活动!飞算 JavaAI 教你快速实现增删改查与领券功能

飞算JavaAI开发助手

技术大V分享:这个国产开发助手让我从996加班中解放出来

飞算JavaAI开发助手

非凸AI实验室人才招聘

非凸科技

Cookie for Mac:你的隐私管理助手

小玖_苹果Mac软件

RH Timer Pro for Mac:精准计时,高效生活

小玖_苹果Mac软件

Java 也能快速搭建 AI 应用?一文带你玩转 Spring AI 可观测性

阿里巴巴云原生

阿里云 微服务 云原生

千亿级数据量,毫秒级读写,深度剖析探探LSM Tree存储引擎

童子龙

分布式架构 存储引擎

VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途

sysin

Workstation

微服务和软件开发目标_语言 & 开发_Jan Stenberg_InfoQ精选文章