Skip to Content
云原生:运用容器、函数计算和数据构建下一代应用
book

云原生:运用容器、函数计算和数据构建下一代应用

by Boris Scholl, Trent Swanson, Peter Jausovec
May 2020
Beginner to intermediate
215 pages
3h 58m
Chinese
China Machine Press
Content preview from 云原生:运用容器、函数计算和数据构建下一代应用
云原生应用的设计
45
3.4 API 设计与版本控制
因为 API 是其他服务用来与你的服务进行通信的接口,因此正确地记录和版本化 API
关重要。现实情况是,API 版本控制做起来很困难,尤其是考虑到各种各样的方法实在
太多了。根据 Jean-Jacques Dubray 所做的研究,API 版本控制的成本取决于你采用的策
略。他分类了三种不同的策略:
无版本(
knot
)
API 只有一个版本,API 的调用者永远只调用最新的 API。当 API 接口发生更改时,
所有使用者也需要跟着改。对于调用者而言,这是最昂贵的方法,因为每次发布新
API 版本时,他们都必须升级。
点对点(
point-to-point
所有版本的 API 都在正常运行,每个调用者都使用他们需要的版本。调用者可以根
据需要迁移到新版本。与无版本相比,这对调用者来说是一个更好的策略,但是对
API 开发人员而言,维护较旧的 API 版本成本很高。
兼容性版本控制(
compatible versioning
所有调用者都使用最新的 API 版本。旧版本的 API 会被舍弃,但是最新版本的 API
是向后兼容的。
研究结果表明,兼容性版本控制策略是最高效的。尽管对 API 的开发者而言,它确实会
带来一些额外的工作,因为需要保持向后兼容性。
REST 本身不提供任何特定的版本控制约定,但有三种方法来实现版本控制:全局版本
控制、资源版本控制和基于 mime 的方法。这些方法中的每一种都有其优点和缺点,这
里没有明确的最佳方法。
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
数字化转型:企业破局的34 个锦囊

数字化转型:企业破局的34 个锦囊

Gary O’Brien, Xiao Guo, Mike Mason
Python程序设计:人工智能案例实践

Python程序设计:人工智能案例实践

保罗 戴特尔, 哈维 戴特尔

Publisher Resources

ISBN: 9787111653240