4月10-12日 QCon 北京,与全球 140+ 顶尖工程师共同解构 AI 时代的技术浪潮! 了解详情
写点什么

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

  • 2022-09-01
    北京
  • 本文字数:825 字

    阅读完需:约 3 分钟

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

最近,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。

 

原文链接

The LinkedIn Way of Building API Versions

 

2022-09-01 08:004389

评论

发布
暂无评论
发现更多内容

第一周学习笔记及uml设计

橘子皮嚼着不脆

架构训练营1期-第1周练习

balsamspear

极客大学架构师训练营 第一周命题作业

第10周总结

纯纯

架构师训练营第1期-Week1-食堂就餐卡系统设计

鲁大江

极客大学架构师训练营 食堂就餐卡系统设计

架构师训练营第 1 期-week1-食堂就餐卡系统设计

习习

【架构师训练营】第一周作业:画图

MindController

架构师

架构师一期二班-吴水金-第一课总结

吴水金

学习

架构师训练营 - week1 - 食堂就餐系统设计

month

极客大学架构师训练营

架构师训练营第一期作业

sean

第一周学习总结

kevin

架构师训练营第1期-Week1 架构方法学习总结

鲁大江

软件工程 极客大学架构师训练营 UML 架构方法

作业-食堂就餐卡系统设计

solike

极客大学架构师训练营

架构师训练营第一章作业一:就餐管理系统UML图

zenfery

极客大学架构师训练营

为什么开发工程师要架构图

Bear

极客大学架构师训练营

架构师第一期作业2

sean

第一周总结

积极&丧

Python 之父为什么嫌弃 lambda 匿名函数?

Python猫

Python 学习 编程

第一周作业

极客大学架构师训练营

第1周内容总结

paul

week12--课后作业

Geek_165f3d

「架构师训练营第 1 期」第一周作业

张国荣

极客大学架构师训练营

架构师训练营作业:第一周

m

架构师训练营第一周学习笔记

一马行千里

学习 极客大学架构师训练营

第一周作业

kevin

极客大学架构师训练营

架构师训练营第1周课后练习

叶纪想

极客大学架构师训练营

week1总结

willson

架构师训练营第一周心得

CmHuang

食堂就餐卡系统设计

积极&丧

架构师训练营第一章作业二 - 学习总结

zenfery

极客大学架构师训练营

第一周课后练习 - 作业 1

致星海

第一周课后练习 - 作业2

致星海

为了不干扰客户,LinkedIn发布API版本化框架_语言 & 开发_Tanmay Deshpande_InfoQ精选文章