您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

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

时间:2022-09-04 15:01:10  来源:InfoQ  作者:

作者 | Tanmay Deshpande

译者 | 明知山

策划 | 丁晓昀

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

https://www.infoq.com/news/2022/08/linkedin-api-versioning/



Tags:LinkedIn   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
作者 | Tanmay Deshpande译者 | 明知山策划 | 丁晓昀最近,LinkedIn 透露了他们如何为 LinkedIn Marketing API 构建 API 版本化框架,允许外部合作伙伴按照自己的节奏迁移到新...【详细内容】
2022-09-04  Tags: LinkedIn  点击:(55)  评论:(0)  加入收藏
▌简易百科推荐
这篇文章中我们将会介绍Spring的框架以及本体内容,包括核心容器,注解开发,AOP以及事务等内容那么简单说明一下Spring的必要性: Spring技术是JavaEE开发的必备技能,企业开发技术...【详细内容】
2022-11-03  嘻呱互联   网易号  Tags:Spring   点击:(5)  评论:(0)  加入收藏
本文主要讲解如何在Springboot中逐步实现对mybatis的集成应用。1、引入依赖在pom.xml文件中引入mybatis依赖。// pom.xml <dependency> <groupId>org.mybatis.spring.boo...【详细内容】
2022-11-02  高道天    Tags:SpringBoot   点击:(4)  评论:(0)  加入收藏
真正的大师,永远都怀着一颗学徒的心!一、项目简介Vue2/Vue3前后端分离开发框架二、实现功能 支持移动端和pc端 支持自动生成代码 支持各种图表表单 支持树形菜单 支持...【详细内容】
2022-11-02  菜鸟程序猿  今日头条  Tags:Vue2   点击:(1)  评论:(0)  加入收藏
一、自动注入没有添加泛型问题自定义RedisTemplate<String,Object>后,在使用时,需要在自动注入的RedisTemplate中添加泛型为RedisTemplate<String,Object>,否则会报错:com.fast...【详细内容】
2022-11-01  德才兼备清风Q  今日头条  Tags:Springboot   点击:(5)  评论:(0)  加入收藏
在考虑 笔记本 或者 显示器 默认设置125%或者150%缩放,导致布局错乱的解决方法 一、为什么会出现有这个问题? 因为现在很多14寸的笔记本,出厂默认就是150%的显示。导致很多时...【详细内容】
2022-11-01  零端阿飞  今日头条  Tags:vue   点击:(11)  评论:(0)  加入收藏
我们将研究 request-validator 库,它能够将用户输入与预定义的一组规则(如 required、max、min、email 等)进行比较。我们有时会遇到由于用户提供的输入长于数据库列大小甚至不...【详细内容】
2022-10-31  qaseven  今日头条  Tags:Spring Boot   点击:(7)  评论:(0)  加入收藏
Svelte 的优点 代码是根据说明在没有额外运输规格的情况下生成的。 它将指令转换为强大的运行时语言。 它运行代码并优化代码生成,速度相比React、vue的运行资源消耗小很多...【详细内容】
2022-10-29  三维棱镜prism3dcn  今日头条  Tags:Svelte   点击:(10)  评论:(0)  加入收藏
一、Forest1.1 业务需求一般情况下是后端提供接口,前端调用,解决需求,但是有的时候为了方便,复用别人的接口(网上的,公共的第三方接口(短信、天气等)),就出现了后端调用后端接口的情况...【详细内容】
2022-10-27  程序猿阿嘴  今日头条  Tags:Forest   点击:(20)  评论:(0)  加入收藏
为了k8s和别的程序不起冲突,默认端口的范围是 30000-32767 ,这里面我们可以手动修改api-server的配置,缺点是可能占用其它程序的端口或者与其他程序的端口产生冲突。1、方法:修...【详细内容】
2022-10-25  gongjing2012  今日头条  Tags:K8S   点击:(13)  评论:(0)  加入收藏
本地装聊mysql数据库,真吃内存啊,微服务一起来,idea 开发工具就疯狂吃内存,前端一启动,node.js 就狂吃,网页再吃点,16g内存一会儿就崩了,如果再玩一下微信开发工具,估计都一点跑不起...【详细内容】
2022-10-23  小虎鲸宝妈记  今日头条  Tags:springcloud   点击:(12)  评论:(0)  加入收藏
站内最新
站内热门
站内头条