产品中心

<<返回上一页

快手数据中台树立通常 千万QPS毫秒照应

发布时间:2024-11-15 05:15:38点击:

本文整顿自快手数据平台部,数据服务化中台担任人倪顺宣布的《快手数据中台树立-大数据服务化之路》的演讲。

图片来自 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 年春晚红包优惠中起到关键作用,成功扛住流量洪峰。

编辑:陶家龙