【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

评论

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

【愚公系列】2022年7月 Go教学课程 002-Go语言环境安装

愚公搬代码

7月月更

一个漂亮的API文档生成工具

为自己带盐

7月月更

浅谈一篇优质的小红书文案需要具备什么

石头IT视角

程序员远程办公喜忧参半| 社区征文

乌龟哥哥

7月月更

Java多线程案例之单例模式(懒汉,饿汉,枚举)

未见花闻

7月月更

封装Ajax

Jason199

ajax 7月月更

NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线

股市老人

leetcode 121 Best Time to Buy and Sell Stock 买卖股票的最佳时机(简单)

okokabcd

LeetCode 动态规划 算法与数据结构

毕业设计:设计秒杀电商系统

jiaoxn

「架构实战营」

毕业总结

大眼喵

「架构实战营」

自动渗透测试工具核心功能简述

穿过生命散发芬芳

渗透测试 7月月更

【LeetCode】在每个树行中找最大值Java题解

Albert

LeetCode 7月月更

线程常用的方法

zarmnosaj

7月月更

毕业总结

天琪实刚亮

设计电商秒杀系统

Jadedev

「架构实战营」

【安全攻防】序列化与反序列,你了解多少?

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

资深开发人员告诉你,怎样编写出优秀的代码?

雨果

程序员 软件 开发者 代码

架构实战营 - 第 6 期 模块九之毕业设计

乐邦

「架构实战营」

透过JVM-SANDBOX源码,了解字节码增强技术原理

柠檬汁Code(binbin0325)

互联网架构 源码剖析 字节码增强 源码解读 Java’

毕业设计项目

michael

架构实战营 #架构实战营 「架构实战营」

聊聊支付流程的设计与实现逻辑

Java 架构

一入“远程”终不悔,几人欢喜几人愁。| 社区征文

法医

初夏征文

简述服务量化分析体系

阿泽🧸

7月月更 量化分析

牛客java选择题每日打卡Day5

京与旧铺

7月月更

疫情远程办公经验分享| 社区征文

乌龟哥哥

7月月更

架构训练毕业设计+总结

小马

#架构训练营

远程办公工具分享|社区征文

如浴春风

初夏征文

模块九作业

天琪实刚亮

多媒体NFT聚合平台OKALEIDO即将上线,全新的NFT时代或将来临

EOSdreamer111

分布式CAP理论

源字节1号

软件开发 后端开发

分布式系统:what、why、how

javaadu

分布式系统

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