写点什么

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

评论

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

react进阶用法完全指南

xiaofeng

React

kubernetes 1.26发布,这十项新特性值得关注!

BoCloud博云

Kubernetes 云原生

react组件深度解读

xiaofeng

React

阿里云携手百奥利盟发布云上精准医疗与创新生物药数字化解决方案,助力行业数字化转型

云布道师

阿里云

细说Js中的this

hellocoder2029

JavaScript

ChatGPT完全火出圈了,你注册了吗?

Java全栈架构师

人工智能 程序员 AI 程序人生 ChatGPT

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

裁员名额谁来背?优秀985硕士无故被裁,劣币驱逐良币错在谁?

Java永远的神

程序员 面试 程序人生 后端 架构师

传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?

Serverless Devs

PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋

阿里云大数据AI技术

机器学习 算法 图文生成 12 月 PK 榜

Vue响应式系统原理并实现一个双向绑定

yyds2026

Vue

Webpack配置实战

Geek_02d948

webpack

细说nodejs的path模块

coder2028

node.js

OpenHarmony社区运营报告(2022年11月)

OpenHarmony开发者

OpenHarmony

redux原理是什么

xiaofeng

React

Webpack最佳实践

Geek_02d948

webpack

细说js变量、作用域和垃圾回收

hellocoder2029

JavaScript

可观测性之Micrometer Tracing

宋小生

全链路监控 可观测性 链路追踪 micrometer 全链路

为什么我们家里的IP都是192.168开头的?

小小怪下士

Java 后端 IP

软件测试 | Github 必会高频基础命令与 IDE 的 Git 集成

测试人

GitHub 软件测试 自动化测试 测试开发

鸿蒙开发实例 | 为什么选择HarmonyOS?

TiAmo

华为 鸿蒙 华为云 12月月更

程序员最关心的问题,我都帮你们问AI了

大白给小白讲故事

AI写代码

【秒杀购物商城业务服务】「分布式架构服务」盘点中间件服务的高可用模式及集群技术的方案分析

洛神灬殇

redis高可用 MySQL 高可用 集群 12 月 PK 榜

圆桌实录 | 为什么不约而同选择了大 Kernel

MegEngineBot

深度学习 开源 MegEngine 大 Kernel

【敏捷研发系列】前端DevOps流水线实践

京东科技开发者

敏捷 前端 软件开发 运维‘ #DevOps

说说Nodejs高并发的原理

coder2028

node.js

JS知识点梳理之作用域、作用域链、柯里化、闭包

hellocoder2029

JavaScript

CleanMyMac2024MACOS老牌清理软件

茶色酒

CleanMyMac CleanMyMac2024

FL Studio2024最新绿色版水果萝卜编曲软件

茶色酒

FL Studio FL Studio21 FL Studio2024

Vue实战必会的几个技巧

yyds2026

Vue

Webpack构建速度优化

Geek_02d948

webpack

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