API背景如何 (产品供销 - 电脑配件)

网络广告(中国) > 产品供销 > 电脑配件 > API背景如何

信息号码: 2960397 类别: 产品供销 - 电脑配件

API背景如何


去年我写过一篇文章:撰写合格的 REST API。当时 Juniper 裁掉了我们在德州的一支十多人的团队,那支团队有一半的人手在之前的半年里,主要的工作就是做一套 REST API。我接手这个工作时发现那些API写的比较业余,没有考虑几个基础的HTTP/1.1 RFC(2616,7232,5988等等)的实现,于是我花了些时间重写,然后写下了那篇文章。

站在今天的角度看,那时我做的系统也有不少问题,很多 API 之外的问题没有考虑:

API 的使用文档。当时我的做法是把文档写在公司使用的协作系统 confluence 里,但这样做的最大的问题是:代码和文档分离,不好维护。

API 的监控。整个 API 系统没有一个成体系的监控机制,各种 metrics 的收集严重依赖 API 的实现者处理,拿时髦的话说就是没法 orchestrate。

API 的测试。做过大量 API 工作的人都知道,为 API 写测试用例是非常痛苦的事情,你不但要对 API 使用的代码做 unit test,还需要对 API 本身做 smoke test(最基本的 functional test),保证所有 API 是可用的,符合预期的。由于需要撰写的测试用例的数量巨大,一般我们写写 unit test 就了事。

理想情况下,一个 API 撰写完成,应该能够自动生成文档和测试用例,而 API 系统也应该提供一整套统计的 API 用于生成 metrics。缺省情况下,API 系统本身就应该收集很多 metrics,比如每个 API 的 response time,status code 等等,使用 collectd / statd 收集信息,并可以进一步发送到 datadog / new relic 这样的 APM 系统。

在 adRise,我们有一套运行了数年的 API 系统,不符合 RFC,(几乎)没有文档,(几乎)没有测试,(几乎)没有监控,最要命的是,它的开发效率和运行效率都不高。因此,过去的一两个月,我主导开发了一个全新的 API 系统。

TG:@cdncloudlisiwen
QQ:2832254781

相关链接: (无)
面向省市区: 全国
面向市区县: 全部
最后更新: 2023-06-12 10:46:27
发 布 者: cdncloudlisiwen
联系电话: (无)
电子邮箱: (无)
浏览次数: 88
网络广告(中国) > 产品供销 > 电脑配件 > API背景如何
© 2024 网络广告(中国) CNNetAds.com