看看阿里文娱怎么建设开放平台,这就是专业~

简介: 没有搭建过开放平台,也接过第三方api,比如说阿里ocr、支付宝支付接口,那个平台就叫开放平台,正所谓没有吃过猪肉,也看过猪跑,哈哈哈。

# 前言

---


**哥们哥们,开放平台了解过吗?**


没有搭建过开放平台,也接过第三方api,比如说阿里ocr、支付宝支付接口,那个平台就叫开放平台,正所谓没有吃过猪肉,也看过猪跑,哈哈哈。



![cc6098430f4c723921bbbf73513e1703.jpeg](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3c05e73b3f6a4373b9a6f6889b8a2d96~tplv-k3u1fbpfcp-watermark.image?)


开放平台,我的理解:将内部数据跟外部数据的打通的桥梁,就像海关一样,那么它有什么组成,它是怎么建设的呢?海关首先要有人检查吧,其次知道你把什么东西带进来了,什么东西带出去了,然后再是数字化的监控,有多少人啊,什么时候最火爆。


接下来,我们来看下阿里文娱怎么搞的。


# 开放平台建设


## 组成

1. 鉴权

2. api管理

3. 监控


## 鉴权



![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/da588d6d685649a9a9a0b3b94bafe5e6~tplv-k3u1fbpfcp-watermark.image?)


我们看下,这其实是内部用户登陆的那一套,腾讯accessToken也是这么搞的,就是系统需要维护一个token,然后不停的刷它的过期时间,然后你接口带上这个token就可以愉快的玩耍了。


还有一种是通过验签的方式,我之前写过一篇文章: [动手实现对外安全的接口(改进篇)](https://juejin.cn/post/7089267007127814158)


对url、参数、特定参数(时间戳、appId)然后对他们进行签名,如果签名对不上,就证明这个请求不是你发起的。


### 细化程度


可以细化到接口级别,哪些用户可以调用这个接口,哪些不行。还有数据跟业务上的隔离,这个是可扩展性的表现,而且很多技术方案都需要基于最基本的数据隔离来搞,比如说全链路灰度,你sql都无法做到只能查自己的,那你会发现数据是混乱的。



## api管理



![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1fe5aae17b3d4ed6a00938526bfbb10f~tplv-k3u1fbpfcp-watermark.image?)


这是比较理想的api管理,当我们说到api管理很多时间想到的就是限流,但是当你仔细看这幅图的时候,会发现有点东西。


首先是api收集,它也会作为api测试的一个数据源,然后审核,这个一般是由开发者自行检查,比如说哪些参数不传出去,但是流程化之后,需要有个人来审核的。然后上线之后,肯定有api文档对吧,然后限流配置、监控、以及外部SDK的生成,最后是对api上下线的管理。这个是**完整的闭环**,也是比较好的一个api体系。


## 监控


既然我们将数据给别人,别人也会把数据丢回来,那我们需要对流量进行监控,会不会压垮系统,接口报错情况,然后通过这些数据来推进优化。常见的就是通过apm来进行全链路监控。


当然我们也能监控到攻击,做好防范,you bad bad~



![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/70d343c5217843ffa2cdfc861c2c5367~tplv-k3u1fbpfcp-watermark.image?)



# 谈谈我的感受


对于鉴权、监控这两个方面,相信大家都能做得很好,但是api管理这个,很多开发者上来就是限流,说的就是我,当我看完阿里文娱的设计方案,我对api管理有更加深刻的理解。


api管理,管理的是什么,当然是api。第一个是限流配置,第二个是输出内容是否合规,有没有把重要的东西泄漏出去对吧,第三个是作为数据源,给自动化测试用,第四个对外接口的审计,究竟提供了哪些接口,哪些不用的api要下线,最后是对api监控。



![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6fff2c38146141cc89cbff97be6b290c~tplv-k3u1fbpfcp-watermark.image?)



觉得有收获的,关注下博主,我们下期再见~







相关文章
|
存储 运维 监控
OpenFeature 实战:统一特征开关在风控模型的落地与灰度发布方案
在金融风控场景中,模型迭代速度与线上稳定性之间的平衡是一大挑战。传统硬编码方式存在耦合度高、控制粒度粗、缺乏审计等问题,导致误拦截损失显著。本文介绍了基于 OpenFeature 的解决方案,通过动态配置、细粒度控制和多语言支持实现高效特征管理,并结合灰度发布、熔断机制和安全审计提升系统稳定性与发布安全性。实战数据显示,该方案显著缩短上线周期、降低故障率并提升模型覆盖率,具备高可用性和可扩展性,适用于复杂风控环境下的策略迭代需求。
1109 8
|
缓存 网络协议 API
掌握网络通信协议和技术:开发者指南
本文探讨了常见的网络通信协议和技术,如HTTP、SSE、GraphQL、TCP、WebSocket和Socket.IO,分析了它们的功能、优劣势及适用场景。开发者需根据应用需求选择合适的协议,以构建高效、可扩展的应用程序。同时,测试与调试工具(如Apipost)能助力开发者在不同网络环境下优化性能,提升用户体验。掌握这些协议是现代软件开发者的必备技能,对项目成功至关重要。
|
Prometheus Kubernetes Cloud Native
Kruise Rollout:灵活可插拔的渐进式发布框架
Kruise Rollout 是 OpenKruise 社区开源的渐进式交付框架。Kruise Rollout 支持配合流量和实例灰度的金丝雀发布、蓝绿发布、A/B Testing 发布,以及发布过程能够基于 Prometheus Metrics 指标自动化分批与暂停,并提供旁路的无感对接、兼容已有的多种工作负载(Deployment、CloneSet、DaemonSet)。近期也在《2022 开放原子全球开源峰会》上面做了主题分享,以下是主要内容。
Kruise Rollout:灵活可插拔的渐进式发布框架
|
机器学习/深度学习 存储 人工智能
2025年NVIDIA RTX 4090云服务器租赁价格与选型指南
本文探讨了在主流云服务商尚未提供RTX 4090实例的背景下,如何选择高性能GPU服务器。分析了市场现状、替代方案性能,并推荐阿里云的GN7i(NVIDIA A10)、GN6v(NVIDIA V100)等实例,提供了成本优化策略与选型建议,确保用户在AI训练、图形渲染等场景中实现效率和成本的最佳平衡。
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
894 4
|
前端开发 Java UED
java实现异步回调返回给前端
通过以上的方式,可以优雅地在Java中实现异步回调并将结果返回给前端,大大提升了应用程序的响应能力和用户体验。
1075 1
|
JavaScript 测试技术 API
如何从 Vue 2 无痛升级到 Vue 3,一文搞定!
如何从 Vue 2 无痛升级到 Vue 3,一文搞定!
14177 8
|
消息中间件 存储 SQL
RocketMQ 全链路灰度探索与实践
当链路请求中存在消息的时候,如何实现全链路灰度?一起来看看消息灰度的设计与实现吧!
1255 0
RocketMQ 全链路灰度探索与实践
|
弹性计算 负载均衡 Cloud Native
阿里云负载均衡SLB版本CLB、ALB和NLB有什么区别如何选择?
最初阿里云只有一种传统的负载均衡SLB,这款SLB实例是四层负载均衡;后来在传统的SLB基础上推出七层负载均衡ALB,原四层SLB改名为CLB;后来又推出基于NFV虚拟化平台,支持弹性伸缩的网络型负载均衡NLB
12442 24
阿里云负载均衡SLB版本CLB、ALB和NLB有什么区别如何选择?

热门文章

最新文章