本文整顿自快手数据平台部,数据服务化中台担任人倪顺宣布的《快手数据中台树立-大数据服务化之路》的演讲。
图片来自 Pexels
他围绕数据资产服务化,服务于业务发生商业价值启动了分享:
快手是一家数据驱动的公司,数据表演了十分关键的角色,而数据的消费加工关键依托数据开发工程师,其上班内容会触及多个方面。
数据开发工程师则首先依据业务需求开发好高品质的数据,通常是结构化数据(数据表);其次,开发稳固牢靠的数据服务,并经过 API方式交付给业务方经常使用。
数据开发工程师有两个痛点,这其中包含:
开发数据服务门槛高
数据开发工程师除了开发完数据表外,通常还须要思索如下疑问:
①数据如何交付 :业务通常希冀经常使用数据接口方式来经常使用数据,而非数据表,这会愈加灵敏、解耦、高效。数据开发工程师因此须要树立对应的数据服务。
②服务如何开发 :数据服务有多种方式,通常要求开发工程师有微服务常识、服务发现注册、高并发等。
③权限、可用性疑问 :开发完数据服务后,须要思索权限疑问,确保数据资源能被安保的访问;此外还须要思索可用性疑问,要以多种手腕保证数据访问的稳固性。
④运维疑问 :数据服务自身触及多种运维疑问,如扩容、迁徙、下线、接口变卦、服务报警等。
以上疑问都须要数据开发工程师去处置。这要求数据开发不只仅是开收回数据表,还须要将数据表包装成一个独立的、灵敏的、高可用的、安保的数据服务。
这关于数据开发工程师要求很高:除了具有基本的业务需求捕捉、数据建模、SQL 开发等才干外,还要具有开发高可用、高性能的数据服务才干(包含 Java开发、微服务等)。
快手很多业务线(如支付业务、直播业务、账户业务等),都存在数据需求,各业务线都做着:
①数据同步到线上数据库缓和存。
②树立微服务等开发,其中不同业务线下,数据同步和微服务通常有很多独特之处,重复烟囱式的开发象征要重复开发数据服务,形成了人力资源糜费,而且开发效率低,从数据开发到最终交付数据服务,须要阅历较长的周期。
基于上述痛点,咱们开局树立一致的数据服务化平台。由此开启一个新形式去处置疑问。
数据平台自身的定位是一站式自助数据服务平台。用户经过平台来创立数据服务接口、运维服务、调用服务。
平台秉承“性能即服务”的理念:数据开发工程师不再须要手写数据服务,只有要在平台上启动便捷性能,平台便可智能消费和部署数据服务,从而优化效率。
大数据服务化业务架构如下所示,Data Lake 数据湖中存储原始数据,经过数据开发之后,构成按主题域组织的数据资产。
此时数据资产通常是在数据仓库,访问速度较慢,因此须要经过数据减速到更高速的存储介质,最后经过多场景服务接口,服务于业务。
在技术架构方面,数据接口方式有 RPC 和 HTTP 两类接口。
RPC 接口不须要重复树立链接,且传输数据时会被高效序列化,实用于高吞吐场景下的微服务,成功负载平衡、流控、升级、调用链追踪等性能。相对而言,HTTP接口传输效率低一些,但经常使用十分便捷。
关键技术一:性能即开发
平台用户分为两类角色:其一是数据服务消费方,其二是数据服务调用方。数据服务消费方只有要性能,做到“性能即开发”。
性能包含:
当性能终了后,数据服务平台便会依据性能清单,成功接口的智能化消费和部署。
消费和部署终了后,调用方在平台放开服务权限调用。经过智能化消费,到达性能即开发的目的,从而极大的优化效率。
关键技术二:多形式服务外形
数据服务有多种服务外形,包含:
①KV API:便捷点查,可以撑持百万 QPS、毫秒提前。这类 API 是经过模板智能化创立进去,允许单查、批量查问等接口,前往的结果是 Protobuf(PB) 结构体,从而将结果智能做了 ORM,关于主调方愈加友好。
典型场景包含:依据 IP 查问 geo 位置信息、依据用户 Id 查问用户标签画像信息等。
②SQL API:复杂灵敏查问,底层基于 OLAP/OLTP 存储引擎。经过 Fluent API接口,用户可自在组合搭配一种或若干种嵌套查问条件,可查问若干便捷字段或许聚合字段,可分页或许全量取回数据。
典型场景包含:用户圈选(组合若干用户标签挑选出一批用户)。
③Union API:融合 API,可自在组合多个原子 API,组合方式包含串行和并行方式。
调用方不再须要调用多个原子 API,而是调用融合 API,经过服务端代理访问多个子查问,可以极大降落访问提前。
关键技术三:高效数据减速
前面提及的数据资产,通常是存在于低速的存储引擎中,不可撑持线上业务高访问流量。因此须要以系统化的方式启动数据减速。
目前有两种减速方式:
全量数据减速:从多个数据源摄入原始数据(如 Kafka,MySQL、线上访问日志等),启动加工建模后,获取数据资产。
数据资产经由独立的数据同步服务,同步至其余更高速的存储引擎,如 Redis、Hbase、Druid 等。
数据同步允许一次性性或许周期性(小时、天、周等)将数据从 Hive 同步至其余存储中,数据同步自身是基于散布式的调度系统,内核是基于>
多级缓存:大数据服务化平台会经常使用 Redis、Hbase、Druid、Clickhouse 等方式存储一切数据,然而局部存储如 Hbase速度或许较慢,针对热点数据须要经常使用额外的热点缓存来 Cache 数据。
热点缓存是多级缓存,针对每个 API 接口,用户可自在搭配组合多级缓存、灵敏设置缓存战略。
此外,针对数据较大的 API,还可性能数据紧缩,经过多种紧缩方式(如 ZSTD,SNAPPY,GZIP 等),可将数据量清楚缩小(局部 API 甚至能缩小90% 的数据存储量)。
关键技术四:高可用保证
服务可用性是微服务畛域内的一大外围,服务的高可用通常须要组合多种手腕来保证。
快手数据服务化平台经过多种方式来到达高可用的目的,关键包含:
数据服务是部署在容器云环境,容器云是快手自研的弹性可伸缩的容器服务,部署在其中的 RPC 服务会注册到 KESS(快手自研服务注册与发现中心),供主调方去调用,如有离群坏点,会智能摘除。
服务调用是基于 RPC,全链路都有监控,包含服务可用性、提前、QPS、容器CPU、容器内存等状况。
资源隔离是可用性保证的经常出现手腕之一,经过隔离将异常缺点等状况的影响面降落。
不论是微服务,还是存储,咱们都依照业务+优先级(高、中、低)粒度隔离部署,独立保证,业务之间互不影响、业务内不同级别也互不影响。
同一业务线内或许有多个不同数据服务,经过混合部署,提高资源经常使用率。
服务很难防止发生疑问或许缺点,一旦发生疑问,及早发现及早参加是十分关键的。
服务平台构建了全链路监控,包含:
大数据服务化平台从 2017年演变至今,曾经允许多类运行场景,涵盖直播、短视频、电商、商业化等在线业务,消费者中台等准在线业务,运营系统等偏外部数据系统等,目前平台在线业务总 QPS 到达1000W,平均提前在毫秒级。
关于准在线业务和外部数据系统,基于 CH、Druid 等多种数据引擎,允许多种灵敏查问。
数据服务平台允许了多种形式 API,很好满足了多元化需求。此外数据服务平台也允许服务权限、API 市场等丰盛性能,进一步赋能业务。
大数据服务化平台未来进一步开展方向关键包含:
①贴近业务需求:数据服务平台自身是为业务服务,经过赋能业务而对企业带来价值,业务自身在始终开展,未来也会有更多的需求发生,因此数据服务平台自身会始终形象和积淀出公共数据服务才干。
②深耕数据资产:数据资产是数据服务之基本,假设没有完善的数据资产树立,上方就很难构建出结构化的一致的数据服务,针对数据资产有较多内容,包含资产注册和查看、资产地图、资产标签、资产控制、资产放开和服务。
大数据服务平台的才干树立会朝着一致的 OneService 体系行进。
关键包含三个方面:
作者:倪顺
简介:本硕毕业于北京大学,曾就职于Hulu,从事视频畛域大数据研发上班,包含视频播放品质的数据树立以及基于数据驱动的播放体验优化。目前就职于快手,从事数据中台畛域上班,关键担任大数据服务化基础平台树立。目前平台QPS 到达千万级,曾经允许外部多个业务,包含直播、介绍、风控等,在快手允许 2020 年春晚红包优惠中起到关键作用,成功扛住流量洪峰。
编辑:陶家龙
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/7885.html