前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为了不干扰客户,LinkedIn 发布 API 版本化框架

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

作者头像
深度学习与Python
发布2023-03-29 16:46:19
4250
发布2023-03-29 16:46:19
举报
文章被收录于专栏:深度学习与python

作者 | 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?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
API 网关
腾讯云 API 网关(API Gateway)是腾讯云推出的一种 API 托管服务,能提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档