为了不干扰客户,LinkedIn 发布 API 版本化框架

2022 年 9 月 4 日 InfoQ

作者 | Tanmay Deshpande
译者 | 明知山
策划 | 丁晓昀

最近,LinkedIn 透露了他们如何为 LinkedIn Marketing API 构建 API 版本化框架,允许外部合作伙伴按照自己的节奏迁移到新版本的 API。

在这个新框架中,每个 API 产品都通过一个为外部合作伙伴提供 API 的中间层公开其版本化的模型和 API。中间层 API 和模型通过特定的版本向外部公开,用户可以按照自己的节奏迁移到新版本。

遗留的架构由各种业务线构建的后端 API 组成,并通过 Rest.liAPI 网关对外公开。由于这些 API 没有版本控制,所有为内部 API 实现的东西都会直接暴露给外部用户。

这篇文章解释道:“未版本化的 API 阻碍了用户访问最新的特性,并给内部开发新特性带来了挑战。此外,开发者的反馈表明,我们在短时间内发布了太多 API 变更,打乱了他们的计划。”

LinkedIn 构建了新的框架,基于特定版本公开模型和 API 变更,从而有效地将外部应用程序的变更隔离开,并允许合作伙伴按照自己的节奏迁移到新版本。

每当外部应用程序请求特定的 API 版本时,API 网关将对请求进行转换,并将其转发到适当的中间层。

与其他 API 网关一样,这个架构中的 API 网关带有身份验证、请求映射、节流控制、授权、反滥用控制和请求调度功能。

最终,中间层将后端实现的特性公开给外部应用程序。

每个 API 产品只有一个中间层。

同一逻辑资源的不同版本可以在中间层中共存,并在代码中维护这个引用。网关使用请求映射调用所需的资源版本。

中间层的服务负责从业务线调用后端与版本无关的服务。如果中间层服务在代码中维护特定于版本的逻辑,则可能会导致代码维护问题。为了避免这种情况,团队构建了“版本执行框架”库,用于完成这两件重要的事情——通过用户定义的转换将请求转换为最新的可能版本;请求被转换为最新的可能版本后,将再次通过用户定义的内部模型转换器将其转换为最新可用的内部模型。

这一实现凸显了 LinkedIn“不干扰客户”的设计原则。

随着版本化的 LinkedIn Marketing API 于 2022 年 6 月发布,开发者和合作伙伴可以使用这些稳定的 API。

原文链接:

https://www.infoq.com/news/2022/08/linkedin-api-versioning/

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

英伟达回应“对中国断供部分高端 GPU”;月薪 3.6 万工程师日均写 7 行代码被开;12 年黑进 40 多家金融机构老板赚百万获刑 |Q 资讯

在阿里达摩院搞了四年数据库,我来聊聊实际情况 | 卓越技术团队访谈录

30 年 IT 老兵谈数字化:这就不是个技术活

资深 Web 开发的经验之谈:为什么你开发的网页不应该大于 14KB?

登录查看更多
0

相关内容

应用程序接口(简称 API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。
【2022新书】构建微服务:设计细粒度系统,615页pdf
专知会员服务
89+阅读 · 2022年9月4日
【UC伯克利Shreya Shankar】机器学习产品化
专知会员服务
29+阅读 · 2021年11月27日
【2020新书】Python专业实践,250页pdf,Practices of the Python Pro
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
微软正式发布 Stream Analytics 无代码编辑器
微服务的测试策略
InfoQ
0+阅读 · 2022年9月12日
Istio 1.15.0 正式发布,支持 arm64 架构
InfoQ
0+阅读 · 2022年9月2日
移除 Staging 环境,加快部署过程
InfoQ
0+阅读 · 2022年5月31日
LinkedIn数据分析技术栈的演进之路
AI前线
0+阅读 · 2022年2月19日
尤雨溪:Vue 3 将成为新的默认版本
CSDN
0+阅读 · 2022年1月21日
如何在微服务中设计用户权限策略?
InfoQ
0+阅读 · 2021年11月19日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年11月25日
Arxiv
66+阅读 · 2022年4月13日
VIP会员
相关资讯
微软正式发布 Stream Analytics 无代码编辑器
微服务的测试策略
InfoQ
0+阅读 · 2022年9月12日
Istio 1.15.0 正式发布,支持 arm64 架构
InfoQ
0+阅读 · 2022年9月2日
移除 Staging 环境,加快部署过程
InfoQ
0+阅读 · 2022年5月31日
LinkedIn数据分析技术栈的演进之路
AI前线
0+阅读 · 2022年2月19日
尤雨溪:Vue 3 将成为新的默认版本
CSDN
0+阅读 · 2022年1月21日
如何在微服务中设计用户权限策略?
InfoQ
0+阅读 · 2021年11月19日
相关基金
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
2+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员