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


    大家好,我叫大鸡腿,大家可以关注下我,会持续更新技术文章还有人生感悟,感谢~

    在这里插入图片描述

    前言


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

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xNBOsx8P-1656731376423)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/3c05e73b3f6a4373b9a6f6889b8a2d96~tplv-k3u1fbpfcp-watermark.image?)]

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

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

    开放平台建设

    组成

    1. 鉴权
    2. api管理
    3. 监控

    鉴权

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dr9mmuk2-1656731376425)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/da588d6d685649a9a9a0b3b94bafe5e6~tplv-k3u1fbpfcp-watermark.image?)]

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

    还有一种是通过验签的方式,我之前写过一篇文章: 动手实现对外安全的接口(改进篇)

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

    细化程度

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

    api管理

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEG1s3ci-1656731376425)(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~

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-REp6XrY6-1656731376426)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/70d343c5217843ffa2cdfc861c2c5367~tplv-k3u1fbpfcp-watermark.image?)]

    谈谈我的感受

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

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

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ldqZsVJA-1656731376426)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6fff2c38146141cc89cbff97be6b290c~tplv-k3u1fbpfcp-watermark.image?)]

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

  • 相关阅读:
    微信第三方sdk获取openid 报错Caused by: java.lang.NoClassDefFoundError
    Linux系统之信号
    论文精读-Semi-Supervised Classification with Graph Convolutional Networks
    抖音小店运营大全,从0到50W ,不用直播不拍视频猜你喜欢干货玩法
    编译原理第五章——语法分析(中)LL(1)分析
    去哪儿网2023正式秋招啦,来这里可以内推
    python scanpy spatial空转全流程
    【MySQL系列】使用C语言来连接数据库
    ExtJs中Ajax.request异步处理后,跳转至其他页面的超链接
    梅斯健康再冲刺上市:研发投入远不及营销费用,启明、腾讯为股东
  • 原文地址:https://blog.csdn.net/weixin_38336658/article/details/125570581