写点什么

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

评论

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

字符串拆分----split()关键字

魏铁锤

10月月更

vivo互联网机器学习平台的建设与实践

vivo互联网技术

人工智能 机器学习 推荐系统

研发效能领域的“百科全书”重磅来袭!

博文视点Broadview

Beautiful Soup库的介绍

芯动大师

Python BeautifulSoup 10月月更

大数据ELK(二十一):Logstash简介和安装

Lansonli

Logstash 10月月更

LinkedList源码分析(四)

知识浅谈

linkedlist 10月月更

Qt | Qt的动画框架和类

YOLO.

qt 10月月更 C++

一文搞懂CAN总线协议帧格式

不脱发的程序猿

汽车电子 CAN总线 CAN总线协议帧格式

数据结构学习,栈篇(链式栈)

IC00

读书笔记 数据结构 算法 10月月更

数据库自动化运维实践

穿过生命散发芬芳

数据库运维 10月月更

cstdio的源码学习分析08-设置文件流buffer函数setbuf

桑榆

源码刨析 10月月更 C++

Java数据类型转换

共饮一杯无

Java 类型转换 10月月更

数据中台与业务中台的区别与联系

阿泽🧸

业务中台 10月月更

Java 泛型

Yeats_Liao

后端 Java后端 Java core 10月月更

年底前端面试题总结(上)

loveX001

JavaScript

SeaTunnel连接器V1到V2的架构演进与探究

Apache SeaTunnel

API 数据集成 连接器 Apache SeaTunnel 数据集成平台

践行ESG理念,缘何成为消费金融行业共识?

易观分析

金融 ESG

谈谈前端性能优化-面试版

loveX001

JavaScript

AndroidStudio最新版(2021.1.21)编译C++代码生成so文件

中国好公民st

c++ Android; 10月月更

Spring之DI依赖注入

楠羽

笔记 spring】 10月月更

Web前端 | HTML5学习

亮点

html web前端 10月月更

Python进阶(十)Python 编程规范

No Silver Bullet

Python 编程规范 10月月更

李宏毅《机器学习》P1-P2 学习笔记

Clarke

网络安全【漏洞安全】反序列化漏洞深入分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

强大的爬虫框架 Scrapy

芯动大师

Scrapy scrapy框架 10月月更

IDEA的Docker插件实战(Docker-compose篇)

程序员欣宸

Docker Docker-compose 10月月更

两数之和

掘金安东尼

算法 10月月更

2022-10-10:以下go语言代码输出什么?A:[1 2 3 0 1 2];B:死循环;C:[1 2 3 1 2 3];D:[1 2 3]。 package main import “fmt“

福大大架构师每日一题

golang 福大大 选择题

requests的介绍

芯动大师

Python requests 10月月更

Spring JPA 如何进行无参数查询布尔类型

HoneyMoose

Qt | 深入了解Qt的委托类

YOLO.

qt 10月月更 C++

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