2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

为了不干扰客户,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:004435

评论

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

GPU在元宇宙中的作用—元宇宙云端解决方案

3DCAT实时渲染

元宇宙 实时渲染

“敏捷教练进阶课程”2024年1月27-28日 · A-CSM认证在线周末班【分时段模块化教学】CST导师亲授

ShineScrum

敏捷教练

一文让你知道企业真正需要一个怎样的远程协同运维平台?

行云管家

运维 远程运维 远程协同

Wireshark中的TCP协议包分析

小齐写代码

Databend 如何利用 GPT-4 进行质量保证

Databend

2023 Flink Forward Asia 参会指南来啦!

Apache Flink

大数据 flink

Amazon WorkSpaces 现在提供使用 WorkSpaces 流协议(WSP)的 Web Access

亚马逊云科技 (Amazon Web Services)

Amazon WorkSpaces

Native Drawing开发指导,实现HarmonyOS基本图形和字体的绘制

HarmonyOS开发者

HarmonyOS

写作训练营打卡1--最喜欢的极客时间作者

Avril

跨界-我今年最难的一件事

学渣汪在央企打怪升级

另一种学习 Linux kernel 的方式 —— UML

袁世超

UML Linux Kenel

喜报!MIAOYUN入选成都高新区“瞪羚企业”

MIAOYUN

云计算 MIAOYUN 瞪羚企业 成都高新梯度培育企业 企业资质

ERP和MES的区别与联系,这篇接地气的文章终于讲明白了!

优秀

MES系统 mes ERP系统 mes和erp区别

14 | 排序优化:如何实现一个通用的、高性能的排序函数.md

鲁米

🎉开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!

Kagol

开源 Vue 前端 UI组件库

SQL ALTER TABLE 语句- 灵活修改表结构和数据类型

小万哥

MySQL 数据库 sql 程序员 后端开发

wing一款轻量快捷的团队开发工具

iofomo

Python 跨平台 开发工具

JDK1.8 ConcurrentHashMap 核心源码(面试重点)

是月月啊2023

多邻国还是流利说

escray

技术人写作 21 天技术人写作行动营 21 天

Groovy StringBuilder类踩坑

FunTester

使用 Kubernetes Agent Server 实现 GitOps

极狐GitLab

Kubernetes DevOps gitlab gitops workflow

[译]你需要知道的CSS属性isolation

南城FE

CSS 前端 布局

走心推荐!10款能让你的企业管理事半功倍的咨询软件。

彭宏豪95

科技 在线白板 咨询 在线协作 效率软件

深度|低代码开发平台和微服务架构的优势与挑战

codebee

DDD 低代码 微服务、

一文读懂AQS的前世今生

是月月啊2023

Java 面试题

论架构师的关注点:专业向下·业务向上

凌晞

企业架构 架构设计 业务架构

英特尔李映:开源开放是软件生态开拓进取的原动力

E科讯

服务器异常问题排查指南

AiDaddy

trouble shooting 线上问题排查 服务器异常排查 linux 命令

耗时三年开源的H5商城,强烈推荐

越长大越悲伤

Java 开源 springboot

我的2023年度关键词:迎接不一样的挑战,充实自我

芯动大师

#技术人的2023总结

【Android】深入Binder拦截

iofomo

android 拦截器 binder

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