【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

API 版本管理成本

  • 2013-12-04
  • 本文字数:938 字

    阅读完需:约 3 分钟

对于基于 SOA 的系统而言,契约版本管理和 API/ 服务版本管理一直是一个必须考虑的因素。不管是因为它对可组合性的影响,还是因为客户端服务治理,它都仍然是一门艺术而非一门科学。团队分享版本管理经验的例子有许多(例如,围绕REST 的版本管理就非常热门)。不过,Jean-Jacques Dubray 最近写了一篇文章,试图将一定的科学客观性注入到这一问题域:

最近,有人要求我为API(或者Web 服务)版本管理成本建立一种估算方法。我想分享这一估算,因为我觉得许多人还不清楚API/ 服务版本管理对成本的影响。

据JJ 说,他们在工作过程中发现,创建API 的成本取决于随后使用的版本管理方法:

[开发人员需要] 了解的一个关键点是,即使服务消费者的成本在他看来很小,它也不只是单纯的成本问题,它是风险,它扰乱项目计划,并使预算不可用……由于变更常常不能为现有消费者带来直接的商业价值,所以他们不希望 API 有任何变更。

文章接下来将 API 版本管理方法分成三个不同的类别(读者可以查看全文来了解针对每一个类别的更深入讨论,包括 JJ 如何定义成本测量方法):

  • “结(The Knot)”:“所有 API 消费者都连接到 API 的同一个版本,当 API 变化时,所有消费者都需要跟着变,实际上,这产生了一个横跨整个消费者集合 / 生态系统的巨大连锁反应。”
  • 点对点:“服务的每个版本都留在生产环境中运行,当需要某个版本时,消费者需要自己进行迁移。运维成本会随着生产环境中版本数量的增加而增加。”
  • 兼容性版本管理:“所有客户端都与 API/ 服务的同一兼容性版本进行对话。”
  • 有了这些定义和使用 JJ 所描述的公式计算出的相关成本,就可绘制相对成本图,如下所示(y 轴是成本,x 轴是版本数量):

正如 JJ 所言:

[……] 当 API 发生变化时,单一版本会迫使每个消费者都进行升级,对于生态系统而言,这是一种成本最高的方法。第二种方法需要维护版本的多样性,这样会好一些,但如果开发人员试图保持每个版本的升级或者交替运行旧版本,那么成本还是相当高。兼容性版本管理策略似乎最高效。

那么,其他人有什么想法?这一 API 版本管理成本计算方法在 JJ 和其团队研发该方法的环境之外是否适用?结合读者的个人经验,相对成本的解释是否合理?还有其它 JJ 和其团队没有涉及到的类别吗?

查看英文原文: The Costs of Versioning an API

2013-12-04 06:012538
用户头像

发布了 256 篇内容, 共 80.7 次阅读, 收获喜欢 11 次。

关注

评论

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

程序流程控制

Java 程序员 后端

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Java 程序员 后端

程序员缺乏经验的 7 种表现

Java 程序员 后端

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java 程序员 后端

窥探Tomcat整体架构,server

Java 程序员 后端

程序流程控制(1)

Java 程序员 后端

程序员欣宸文章汇总(Spring篇)

Java 程序员 后端

程序员面试防坑宝典,助你秋招一臂之力(建议收藏,文末有彩蛋)

Java 程序员 后端

线上频出MySQL死锁问题!分享一下自己教科书般的排查和分析过程

Java 程序员 后端

程序员必备的思维能力:结构化思维

Java 程序员 后端

程序人生:做了6年Java开发,海投28家简历被拒,该何去何从?

Java 程序员 后端

程序员如何提高影响力

Java 程序员 后端

程序员欣宸文章汇总(Java篇)

Java 程序员 后端

程序员膨胀了?年薪100万,腾讯程序员跟南航飞行员差不多?

Java 程序员 后端

站在筛选简历和面试流程角度,给培训班出身Java程序员一些建议!

Java 程序员 后端

第六章(1(1)

Java 程序员 后端

神了!对标阿里P8的JVM超硬核神仙笔记,了解至少定级P6+

Java 程序员 后端

程序员如何利用技术变现?

Java 程序员 后端

程序员必须掌握的600个英语单词

Java 程序员 后端

第六章(1

Java 程序员 后端

简单的词法分析器

Java 程序员 后端

算法基础三之链表、栈、队列、递归

Java 程序员 后端

纯干货“Java面试指南+Java核心宝典”!

Java 程序员 后端

线程的介绍与创建

Java 程序员 后端

社招和校招有什么不同?阿里美团等大厂JAVA社招面经分享!

Java 程序员 后端

程序员必备基础:Git 命令全方位学习

Java 程序员 后端

程序员的黄金五年,如何做到从月薪8K达到38K?

Java 程序员 后端

策略模式---动态更改算法

Java 程序员 后端

程序员你了解零拷贝吗?

Java 程序员 后端

程序员,你以为你很优秀,但却面试屡屡失败?

Java 程序员 后端

秀出新天际的SpringBoot笔记,让开发像搭积木一样简单

Java 程序员 后端

API版本管理成本_REST_Mark Little_InfoQ精选文章