1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        快手短視頻如何支撐 10 億月活,揭秘快手大數據中臺架構!

        共 4053字,需瀏覽 9分鐘

         ·

        2021-06-27 13:38

        導讀:本文主要圍繞快手數據中臺大數據服務化進行了介紹。第一部分是背景介紹,包括數據開發(fā)的痛點,第二部分是介紹大數據服務化平臺,包括平臺架構以及關鍵細節(jié)詳解,第三部分是經驗總結和未來思考。


        背景



        快手是一家數據驅動的公司,數據扮演了非常重要的角色,而數據的生產加工主要依靠數據開發(fā)工程師,其工作內容會涉及多個方面。

        數據開發(fā)工程師則首先根據業(yè)務需求開發(fā)好高質量的數據,通常是結構化數據(數據表);其次,開發(fā)穩(wěn)定可靠的數據服務,并通過API方式交付給業(yè)務方使用。數據開發(fā)工程師有兩個痛點,這其中包括:
        • 開發(fā)數據服務門檻高

        • 重復開發(fā)數據服務



        痛點一:開發(fā)數據服務門檻高


        數據開發(fā)工程師除了開發(fā)完數據表外,通常還需要思考如下問題:
        1. 數據如何交付:業(yè)務通常期望使用數據接口方式來使用數據而非數據表,這會更加靈活、解耦、高效。數據開發(fā)工程師因此需要建立對應的數據服務。
        2. 服務如何開發(fā):數據服務有多種形式,通常要求開發(fā)工程師有微服務知識、服務發(fā)現(xiàn)注冊、高并發(fā)等。
        3. 權限、可用性問題:開發(fā)完數據服務后,需要考慮權限問題,確保數據資源能被安全的訪問;此外還需要考慮可用性問題,要以多種手段保障數據訪問的穩(wěn)定性。
        4. 運維問題:數據服務本身涉及多種運維問題,如擴容、遷移、下線、接口變更、服務報警等。

        以上問題都需要數據開發(fā)工程師去解決。這要求數據開發(fā)不僅僅是開發(fā)出數據表,還需要將數據表包裝成一個獨立的、靈活的、高可用的、安全的數據服務。


        這對于數據開發(fā)工程師要求很高:除了具備基本的業(yè)務需求捕獲、數據建模、SQL開發(fā)等能力外,還要具備開發(fā)高可用、高性能的數據服務能力(包括java開發(fā)、微服務等)。



        痛點二:重復開發(fā)數據服務


        快手很多業(yè)務線(如支付業(yè)務、直播業(yè)務、賬戶業(yè)務等),都存在數據需求,各業(yè)務線都做著:

        1、數據同步到線上數據庫和緩存。

        2、建設微服務等開發(fā),其中不同業(yè)務線下,數據同步和微服務通常有很多共同之處,重復煙囪式的開發(fā)意味要重復開發(fā)數據服務,造成了人力資源浪費,而且開發(fā)效率低,從數據開發(fā)到最終交付數據服務,需要經歷較長的周期。


        基于上述痛點,快手開始建設統(tǒng)一的數據服務化平臺。由此開啟一個新模式去解決問題。



        大數據服務化平臺



        數據平臺本身的定位是一站式自助數據服務平臺。用戶通過平臺來創(chuàng)建數據服務接口、運維服務、調用服務。平臺秉承“配置即服務”的理念:數據開發(fā)工程師不再需要手寫數據服務,只需要在平臺上進行簡單配置,平臺便可自動生產和部署數據服務,從而提升效率。


        系統(tǒng)架構


        大數據服務化業(yè)務架構如下所示,Data Lake 數據湖中存儲原始數據,經過數據開發(fā)之后,形成按主題域組織的數據資產。此時數據資產通常是在數據倉庫,訪問速度較慢,因此需要通過數據加速到更高速的存儲介質,最后經過多場景服務接口,服務于業(yè)務。


        在技術架構方面,數據接口形式有 RPC 和 HTTP 兩類接口。RPC 接口不需要重復建立鏈接,且傳輸數據時會被高效序列化,適用于高吞吐場景下的微服務,實現(xiàn)負載均衡、流控、降級、調用鏈追蹤等功能。相對而言,HTTP 接口傳輸效率低一些,但使用非常簡單。


        關鍵技術一:配置即開發(fā)


        平臺用戶分為兩類角色:其一是數據服務生產方,其二是數據服務調用方。數據服務生產方只需要配置,做到“配置即開發(fā)”,配置包括:
        1. 數據源;
        2. 數據加速到何處;
        3. 接口形態(tài),訪問方式;
        4. 配置獨立的測試環(huán)境,訪問隔離的測試數據。當配置完畢后,數據服務平臺便會根據配置清單,完成接口的自動化生產和部署。生產和部署完畢后,調用方在平臺申請服務權限調用。通過自動化生產,達到配置即開發(fā)的目的,從而極大的提升效率。



        關鍵技術二:多模式服務形態(tài)


        數據服務有多種服務形態(tài),包括:

        1、KV API:簡單點查,可以支撐百萬QPS、毫秒延遲。這類API是通過模板自動化創(chuàng)建出來,支持單查、批量查詢等接口,返回的結果是 Protobuf (PB) 結構體,從而將結果自動做了 ORM,對于主調方更加友好。典型場景包括:根據IP查詢geo位置信息、根據用戶Id查詢用戶標簽畫像信息等。

        2、SQL API:復雜靈活查詢,底層基于 OLAP/OLTP 存儲引擎。通過 Fluent API 接口,用戶可自由組合搭配一種或若干種嵌套查詢條件,可查詢若干簡單字段或者聚合字段,可分頁或者全量取回數據。典型場景包括:用戶圈選(組合若干用戶標簽篩選出一批用戶)。


        3、Union API:融合API,可自由組合多個原子API,組合方式包括串行和并行方式。調用方不再需要調用多個原子API,而是調用融合API,通過服務端代理訪問多個子查詢,可以極大降低訪問延遲。



        關鍵技術三:高效數據加速


        前面提及的數據資產,通常是存在于低速的存儲引擎中,無法支撐線上業(yè)務高訪問流量。因此需要以系統(tǒng)化的方式進行數據加速。目前有兩種加速方式:全量數據加速和多級緩存(部分數據加速)
        (1)全量數據加速

        從多個數據源攝入原始數據(如Kafka,MySQL、線上訪問日志等),進行加工建模后,得到數據資產。數據資產經由獨立的數據同步服務,同步至其他更高速的存儲引擎,如 redis、hbase、druid等。


        數據同步支持一次性或者周期性(小時、天、周等)將數據從Hive同步至其他存儲中,數據同步本身是基于分布式的調度系統(tǒng),內核是基于 datax 進行數據同步。大數據服務化平臺單日同步的數據量達到1200億條,數據size達到20TB。


        (2)多級緩存

        大數據服務化平臺會使用 Redis、Hbase、Druid、Clickhouse 等方式存儲所有數據,但是部分存儲如Hbase速度可能較慢,針對熱點數據需要使用額外的熱點緩存來Cache數據。熱點緩存是多級緩存,針對每個API接口,用戶可自由搭配組合多級緩存、靈活設置緩存策略。


        此外,針對數據較大的API,還可配置數據壓縮,通過多種壓縮方式(如 ZSTD, SNAPPY, GZIP 等),可將數據量顯著減少(部分API 甚至能減少90%的數據存儲量)


        關鍵技術四:高可用保障


        服務可用性是微服務領域內的一大核心,服務的高可用通常需要組合多種手段來保障??焓謹祿栈脚_通過多種方式來達到高可用的目的,主要包括彈性服務框架、資源隔離及全鏈路監(jiān)控。

        (1)彈性服務框架

        數據服務是部署在容器云環(huán)境,容器云是快手自研的彈性可伸縮的容器服務,部署在其中的RPC服務會注冊到 KESS (快手自研服務注冊與發(fā)現(xiàn)中心),供主調方去調用,如有離群壞點,會自動摘除。服務調用是基于 RPC,全鏈路都有監(jiān)控,包括服務可用性、延遲、QPS、容器CPU、容器內存等情況。


        (2)資源隔離

        資源隔離是可用性保障的常見手段之一,通過隔離將意外故障等情況的影響面降低。不管是微服務,還是存儲,我們都按照業(yè)務 + 優(yōu)先級(高、中、低)粒度隔離部署,獨立保障,業(yè)務之間互不影響、業(yè)務內不同級別也互不影響。同一業(yè)務線內可能有多個不同數據服務,通過混合部署,提高資源使用率。


        (3)全鏈路監(jiān)控

        服務很難避免出現(xiàn)問題或者故障,一旦出現(xiàn)問題,及早發(fā)現(xiàn)及早介入是非常重要的。服務平臺構建了全鏈路監(jiān)控,包括:


        • 數據同步:對數據資產同步至高速存儲的過程進行監(jiān)控,包括數據質量檢測(過濾臟數據)、同步超時或者失敗檢測等。
        • 服務穩(wěn)定性:構建一個獨立的哨兵服務,來監(jiān)測每個API的運行指標(如延遲、可用性等),客觀的評估健康度。
        • 業(yè)務正確性:數據服務需要確保用戶訪問的數據內容和數據資產表內容是一致的,因此哨兵服務會從數據一致性層面去探查,確保每個API的數據一致性。



        總結和展望


        大數據服務化平臺從2017年演化至今,已經支持多類應用場景,涵蓋直播、短視頻、電商、商業(yè)化等在線業(yè)務,生產者中臺等準在線業(yè)務,運營系統(tǒng)等偏內部數據系統(tǒng)等,目前平臺在線業(yè)務總 QPS 達到 1000W,平均延遲在毫秒級。

        對于準在線業(yè)務和內部數據系統(tǒng),基于CH、Druid等多種數據引擎,支持多種靈活查詢。數據服務平臺支持了多種模式API,很好滿足了多元化需求。此外數據服務平臺也支持服務權限、API市場等豐富功能,進一步賦能業(yè)務。


        大數據服務化平臺未來進一步發(fā)展方向主要包括:

        1、貼近業(yè)務需求:數據服務平臺本身是為業(yè)務服務,通過賦能業(yè)務而對企業(yè)帶來價值,業(yè)務本身在不斷發(fā)展,未來也會有更多的需求出現(xiàn),因此數據服務平臺本身會不斷抽象和沉淀出公共數據服務能力。

        2、深耕數據資產:數據資產是數據服務之根本,如果沒有完善的數據資產建設,上面就很難構建出結構化的統(tǒng)一的數據服務,針對數據資產有較多內容,包括資產注冊和審核、資產地圖、資產標簽、資產管理、資產開放和服務。


        大數據服務平臺的能力建設會朝著統(tǒng)一的 OneService 體系前進。主要包括三個方面:

        1、支持豐富的數據源:包括大寬表、文本文件、機器學習模型(模型也是一種數據資產),來構建完善的數據服務。

        2、支持多樣取數方式:除了支持同步快速取數之外,還支持異步查詢取數、推送結果、定時任務等多樣化方式,以滿足業(yè)務多種場景需求。

        3、建設統(tǒng)一的API網關:集成權限管控、限流降級、流量管理等于一體,不僅平臺創(chuàng)建的服務可以注冊進API網關,用戶自己開發(fā)的API也可注冊進API網關,從而享受已有的基礎網關能力,為業(yè)務提供數據服務能力。

        來源:倪順 | 數據學堂


        推薦閱讀:

        世界的真實格局分析,地球人類社會底層運行原理

        企業(yè)IT技術架構規(guī)劃方案

        論數字化轉型——轉什么,如何轉?

        企業(yè)10大管理流程圖,數字化轉型從業(yè)者必備!

        【中臺實踐】華為大數據中臺架構分享.pdf

        華為的數字化轉型方法論

        華為如何實施數字化轉型(附PPT)

        超詳細280頁Docker實戰(zhàn)文檔!開放下載

        華為大數據解決方案(PPT)


        如有收獲,點個在看,誠摯感謝

        瀏覽 65
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            色偷偷AV老熟女一区二 | 欧美z○zo变态重口另类黄 | 性感骚逼 | 骚虎性爱视频 | 最近亚洲中文字幕在线 | 狠狠干天天爱 | 狠狠躁18三 片免费看 | 欧美日韩福利在线 | 有奶水的日本三级 | 一区高清视频 |