为什么要有API规范?
极客时间编辑部
讲述:丁婵大小:1.42M时长:03:06
API 是模块或者子系统之间交互的接口定义。好的系统架构离不开好的 API 设计,而一个设计不够完善的 API 则注定会导致系统的后续发展和维护非常困难。比较好的 API 设计样板可以参考 GitHub 和 Kubernetes ,它们都是典型的 RESTful 接口。云服务对外开放的窗口就是 OpenAPI,而云服务场景下也需要统一的 API 规范。近日,阿里资深技术专家虚明在阿里技术发文分享了 API 规范的重要性,以下为具体内容。
之所以强调“云服务”的原因在于,小规模独立 API 的设计与大规模批量生产 API 面临的问题是不一样的。同样,只专注于自身产品 API 的可用性与从更高的层次去看云服务整体 API 体系的健壮性,要建设的体系也是不一样的。
例如,做一个 Web 页面使用的 API,只需要考虑性能、稳定性、鉴权就好,因为页面与 API 是一体的,可以一起发布和回滚,只要功能正常,即便 API 设计有缺陷,用户也可以接受。而云服务要开放 API 考虑问题就多了:
首先,云服务开放的是基础设施和服务接口,一般是系统级的对接,API 一旦开放想要变更就非常困难;
其次,云服务并非单独运行,不同的产品实际场景中是互相组合的,需考虑产品间的一致性和互通便利性;
云服务 API 数量庞大,为了更方便使用,配套的 API 查找、编排、自动化生成 SDK 等需求也比普通服务强烈;
云服务的稳定性非常重要,核心产品的稳定性就是客户的生命线,要求非常高。
所以云服务由于产品线众多,需要统一的 API 规范来保证云产品间 API 体验一致,在底层平台层面互相兼容,便于上层应用平台化,同时要兼顾到围绕公有云服务的第三方生态、开源生态、企业生态。
在具体规范层面,业界也在不断尝试,比较知名的是 OpenAPI Specfication 和 Google API Design Guide。前者针对 RESTful API 设计在细节层面给出了非常具体的规定,已经成为 RESTful API 设计领域的事实标准,而后者则主要从云厂商的角度提出许多最佳实践性质的规范与建议,这些原则不仅仅适用于 RESTful API,也适合其他类型 API 设计。
因此,对于云服务商来说,在关键环节制定明确的 API 规范有助于云服务对内提高产品间互通的效率,对外提供一致的使用体验,有助于云服务更好地被集成。
以上就是今天的内容,希望对你有所帮助。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论