会员中心     
首页 > 资料专栏 > 数据 > 情报数据 > 研究报告 > 丨丨数据服务难道就是对外提供个API吗PDF

丨丨数据服务难道就是对外提供个API吗PDF

xiajing***
V 实名认证
内容提供者
热门搜索
API 数据服务
资料大小:2567KB(压缩后)
文档格式:PDF(16页)
资料语言:中文版/英文版/日文版
解压密码:m448
更新时间:2024/5/22(发布于重庆)

类型:积分资料
积分:10分 (VIP无积分限制)
推荐:免费申请

   点此下载 ==>> 点击下载文档


“丨丨数据服务难道就是对外提供个API吗PDF”第1页图片 图片预览结束,如需查阅完整内容,请下载文档!
文本描述
加微信:642945106 发送“赠送”领取赠送精品课程 发数字“2”获取众筹列表   下载APP 09(二) | 数据服务难道就是对外提供个API吗? 2020-04-24 郭忆 数据中台实战课 进入课程  讲述:郭忆  时长 17:37大小 16.14M 你好,我是郭忆。 在上一讲中,我为你介绍了为什么必须要有数据服务,你可以看到,数据服务在数据建设中 发挥着重要的作用。那有的人可能会好奇了,数据服务到底长什么样子呢? 是不是只对外 提供一个 API? 真的有这么简单吗?接下来,我们就带着这些问题,学习今天的内容。 而我希望你能在学完这部分内容之后,真正掌握数据服务的产品功能设计和系统架构设计。  因为这会对你设计一个数据服务,或者选择一个商业化产品,有很大的帮助。 数据服务应该具备的八大功能 我认为,数据服务应该具备八个功能,只有具备这些功能,才能解决我们在上一讲提到的问 题。比如,数据接入方式多样,接入效率低;数据和接口没办法共享;不知道数据被哪些应 用访问…… 那么为了让你更好地理解数据服务的功能,我来讲个小故事。 你肯定去过菜鸟驿站取快递吧?假设有一个很大的菜鸟驿站,里面有很多组货架,每个货架 前都有一些工作人员帮助我们取快递,同时也有很多队伍排队。 取快递,要先约定好接口(比如统一使用收货码来取货)。然后,为了保证不同队伍都能取 到快递,我们要对每个队伍做一些限流(比如一个队伍一次只能取一个人)。在你取走快递 时,驿站会记录是谁取走了哪个快递,方便后续追查。 这段时间,菜鸟驿站服务开始升级,不仅可以取快递,还提供快递送货上门的服务。除此之 外,不同种类的快递对应的货架也变得不同,比如生鲜食品,货架是冷藏冰箱,文件、信 封,货架就是文件柜。 对于取快递的人来说,如果他买了生鲜,又买了信封,那他要排好几个队伍,肯定不方便。 所以,一般来讲,取快递的人最好只在一个队伍排队,而驿站工作人员帮他一次把多个货架 的快递都取过来。 可驿站的货架实在是太多了,为了方便每个取快递的小伙伴都能快速找到每个货架以及队 伍,驿站提供了一个导览。与此同时,为了不让工作人员出错,驿站的工作人员必须经过严 格的测试,才能上岗。 讲完这个故事之后,我们接着回到数据服务的这八大功能上来。在取快递的这个例子中,你 可以把数据服务看成是一个菜鸟驿站,工作人员看成是 API 解耦库,货架可以看作是中间 存储,快递则可以认为是数据。 那么对应到八个功能,就是: 接口规范化定义,可以看成是取快递约定的收货码,基于统一的收货码取走快递; 数据网关,可以看成是我们对每个货架前的队伍进行限流,确保每个队伍都能取走快 递; 链路关系的维护,可以看作是驿站会记录谁取走了什么快递; 数据交付,可以看作驿站同时提供取快递和送货上门服务; 提供多样中间存储,可以看成有不同类型的货架; 逻辑模型,可以看成是一个工作人员,可以取多个货架的快递; API 接口,可以看作是驿站的不同货架的不同队伍导览; API 测试,可以看作是驿站工作人员上岗前的测试。 通过这个故事,你是不是已经对数据服务的八个功能有一个形象的感知了?接下来,我们来 看看数据服务这八个功能具体包含什么内容。 第一个是接口规范化定义。 接口规范化定义就是取快递时我们约定的取件码。数据服务,对各个数据应用屏蔽了不同的 中间存储,提供的是统一的 API。 网易数据服务EasyDS界面示意图 在上图中,我们可以在数据服务上,定义每个 API 接口的输入和输出参数。 第二,数据网关。 作为网关服务,数据服务必须要具备认证、权限、限流、监控四大功能,这是数据和接口复 用的前提。这就跟我们在菜鸟驿站前取快递,要对每个队伍的人进行认证、限流一个道理。 我详细介绍一下。 首先是认证,为了解决接口安全的问题,数据服务首先会为每个注册的应用分配一对 accesskey 和 secretkey,应用每次调用 API 接口,都必须携带 acesskey 和 secretkey。 除此之外,对于每个已发布的 API,API 负责人可以对应用进行授权,只有有权限的应用才 可以调用该接口。同时,API 接口的负责人可以对应用进行限流(例如限制每秒 QPS 不超 过 200),如果超过设定的阈值,就会触发熔断,限制接口的访问频率。 需要你注意的是,对于接口复用来说,限流功能非常必要,否则会造成不同应用之间的相互 影响。 应用对接口授权示意图 当然,数据服务还要提供接口相关的监控,比如接口的 90% 的请求响应时间、接口调用次 数、失败次数等相关的监控,另外,对于长时间没有调用的 API ,应该予以下线。这样做 的好处是防止没用的接口额外占用资源。 第三,全链路打通。 数据服务还必