日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Twitter如何優(yōu)化處理4000億事件的流程

來源: 責編: 時間:2024-04-15 18:08:12 178觀看
導讀引言Twitter實時處理大約4000億事件,并每天生成一個PB(petabyte)的數(shù)據(jù)。Twitter從多種事件源消費數(shù)據(jù),例如分布式數(shù)據(jù)庫、Kafka、Twitter事件總線等。Twitter訂閱源中的事件調(diào)用示例在這篇文章中,我們將嘗試理解:Twitter

引言

Twitter實時處理大約4000億事件,并每天生成一個PB(petabyte)的數(shù)據(jù)。Twitter從多種事件源消費數(shù)據(jù),例如分布式數(shù)據(jù)庫、Kafka、Twitter事件總線等。L0c28資訊網(wǎng)——每日最新資訊28at.com

L0c28資訊網(wǎng)——每日最新資訊28at.com

Twitter訂閱源中的事件調(diào)用示例L0c28資訊網(wǎng)——每日最新資訊28at.com

在這篇文章中,我們將嘗試理解:L0c28資訊網(wǎng)——每日最新資訊28at.com

  • Twitter過去是如何處理事件的,以及那種方法存在哪些問題?
  • 是什么業(yè)務和客戶影響促使Twitter遷移到新架構?
  • 新架構
  • 舊架構和新架構的性能比較。

為了處理事件,Twitter有自己的一套內(nèi)部工具,例如:L0c28資訊網(wǎng)——每日最新資訊28at.com

  • Scalding是Twitter用于批處理的工具。
  • Heron是Twitter自己的流處理引擎。
  • TimeSeriesAggregator(TSAR)用于批處理和實時處理。

在我們深入了解事件系統(tǒng)如何演變之前,讓我們簡要了解一下這四種內(nèi)部工具。L0c28資訊網(wǎng)——每日最新資訊28at.com

  • Scalding:Scalding是一個Scala庫,可以輕松指定Hadoop MapReduce作業(yè)。Scalding建立在Cascading之上,Cascading是一個抽象了底層Hadoop細節(jié)的Java庫。Scalding與Pig相當,但提供了與Scala的緊密集成,將Scala的優(yōu)勢帶入MapReduce作業(yè)中。
  • Heron:Apache Heron是Twitter自己的流處理引擎,由于需要處理PB級別的數(shù)據(jù),提高開發(fā)人員的生產(chǎn)力并簡化調(diào)試而開發(fā)。Heron中的流應用程序稱為拓撲。拓撲是一個有向無環(huán)圖,其節(jié)點表示數(shù)據(jù)計算元素,邊表示數(shù)據(jù)流動的流。
  • Spouts:它們連接到數(shù)據(jù)源并將數(shù)據(jù)注入流中
  • Bolts:它們處理傳入的數(shù)據(jù)并發(fā)出數(shù)據(jù)

L0c28資訊網(wǎng)——每日最新資訊28at.com

TimeSeriesAggregator:L0c28資訊網(wǎng)——每日最新資訊28at.com

L0c28資訊網(wǎng)——每日最新資訊28at.com

Twitter的數(shù)據(jù)工程團隊面臨著每天處理數(shù)十億事件的挑戰(zhàn),無論是批處理還是實時處理。TSAR是一個健壯的、可擴展的、實時事件時間序列聚合框架,主要用于監(jiān)控參與度:聚合與推文的互動,按多種維度(如設備、參與類型等)進行分段。L0c28資訊網(wǎng)——每日最新資訊28at.com

讓我們在非常高的層次上檢查Twitter的工作原理。所有Twitter功能都由遍布全球的微服務支持,包括超過10萬個實例。它們負責生成事件,這些事件被發(fā)送到事件聚合層,該層由Meta的一個開源項目構建。這一層負責對這些事件進行分組,運行聚合作業(yè),并將數(shù)據(jù)存儲在HDFS中。然后處理這些事件,并進行格式轉(zhuǎn)換,重新壓縮數(shù)據(jù),以創(chuàng)建格式良好的數(shù)據(jù)集。L0c28資訊網(wǎng)——每日最新資訊28at.com

L0c28資訊網(wǎng)——每日最新資訊28at.com

舊架構

L0c28資訊網(wǎng)——每日最新資訊28at.com

Twitter的舊架構基于lambda架構,它包括批處理層、速度層和服務層。批處理部分是由客戶端生成的日志,并在事件處理后存儲在Hadoop分布式文件系統(tǒng)(HDFS)上。Twitter構建了幾個擴展管道,用于預處理原始日志,并將它們作為離線源攝入到Summingbird平臺中。速度層的實時組件源是Kafka主題。L0c28資訊網(wǎng)——每日最新資訊28at.com

一旦數(shù)據(jù)被處理,批處理數(shù)據(jù)就存儲在Manhattan分布式系統(tǒng)中,而實時數(shù)據(jù)則存儲在Twitter自己的分布式緩存Nighthawk中。TSAR系統(tǒng),如TSAR查詢服務,查詢緩存和數(shù)據(jù)庫,是服務層的一部分。L0c28資訊網(wǎng)——每日最新資訊28at.com

Twitter在三個不同的數(shù)據(jù)中心有實時管道和查詢服務。為了減少批處理計算成本,Twitter在一個數(shù)據(jù)中心運行批處理管道,并將數(shù)據(jù)復制到其他兩個數(shù)據(jù)中心。L0c28資訊網(wǎng)——每日最新資訊28at.com

你能想到為什么實時數(shù)據(jù)會存儲在緩存中而不是數(shù)據(jù)庫中嗎?L0c28資訊網(wǎng)——每日最新資訊28at.com

舊架構中的挑戰(zhàn)

讓我們嘗試理解這種架構在實時事件處理中可能遇到的挑戰(zhàn)。L0c28資訊網(wǎng)——每日最新資訊28at.com

L0c28資訊網(wǎng)——每日最新資訊28at.com

讓我們用一個例子來理解這一點:L0c28資訊網(wǎng)——每日最新資訊28at.com

假設有一個大事件,如FIFA世界杯。推文源將開始向推文拓撲發(fā)送大量事件。解析推文的bolts無法及時處理事件,拓撲內(nèi)部出現(xiàn)了背壓。當系統(tǒng)長時間處于背壓狀態(tài)時,heron bolts可能會積累spout滯后,這表明系統(tǒng)延遲高。Twitter觀察到,當這種情況發(fā)生時,拓撲滯后的下降需要很長時間。L0c28資訊網(wǎng)——每日最新資訊28at.com

團隊使用的操作解決方案是重啟Heron容器以重新開始處理流。這可能導致操作期間事件丟失,從而導致緩存中聚合計數(shù)的不準確。L0c28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在讓我們嘗試理解批處理事件的例子。Twitter有幾個重計算管道處理PB級別的數(shù)據(jù),并每小時運行一次,以將數(shù)據(jù)同步到Manhattan數(shù)據(jù)庫中。現(xiàn)在讓我們想象一下,如果同步作業(yè)需要超過一個小時,而下一個作業(yè)已經(jīng)安排開始。這可能導致系統(tǒng)的背壓增加,并可能導致數(shù)據(jù)丟失。L0c28資訊網(wǎng)——每日最新資訊28at.com

正如我們所看到的,TSAR查詢服務整合了Manhattan和緩存服務,為客戶提供數(shù)據(jù)。由于實時數(shù)據(jù)可能丟失,TSAR服務可能會向客戶提供不準確的指標。L0c28資訊網(wǎng)——每日最新資訊28at.com

讓我們嘗試理解促使他們解決這個問題的客戶和業(yè)務影響:L0c28資訊網(wǎng)——每日最新資訊28at.com

  • Twitter廣告服務是Twitter最主要的收入模式之一,如果其性能受到影響,直接影響他們的商業(yè)模式。
  • Twitter提供各種數(shù)據(jù)產(chǎn)品服務來檢索印象和參與度指標的信息;這些服務會因數(shù)據(jù)不準確而受到影響。
  • 另一個問題是,從事件創(chuàng)建到可用于使用可能需要幾個小時,因為批處理作業(yè)。這意味著客戶端進行的數(shù)據(jù)分析或任何其他操作將不會擁有最新數(shù)據(jù)。可能會有幾個小時的時間滯后。

現(xiàn)在,這意味著如果我們想根據(jù)用戶生成的事件更新用戶的時間線,或者根據(jù)用戶與Twitter系統(tǒng)的互動進行用戶行為分析,客戶將無法做到,因為他們需要等待批處理完成。L0c28資訊網(wǎng)——每日最新資訊28at.com

新架構

L0c28資訊網(wǎng)——每日最新資訊28at.com

新架構建立在Twitter數(shù)據(jù)中心服務和Google Cloud平臺上。Twitter構建了一個事件處理管道,將kafa主題轉(zhuǎn)換為pub sub主題,然后發(fā)送到Google Cloud。在Google Cloud上,流數(shù)據(jù)流作業(yè)執(zhí)行實時聚合,并將數(shù)據(jù)沉入BigTable中。L0c28資訊網(wǎng)——每日最新資訊28at.com

L0c28資訊網(wǎng)——每日最新資訊28at.com

對于服務層,Twitter使用了一個在Twitter數(shù)據(jù)中心前端和Bigtable及Bigquery后端的LDC查詢服務。整個系統(tǒng)可以以低延遲(約10毫秒)流式處理每秒數(shù)百萬事件,并且在高流量期間可以輕松擴展。L0c28資訊網(wǎng)——每日最新資訊28at.com

這種新架構節(jié)省了構建批處理管道的成本,對于實時管道,Twitter能夠?qū)崿F(xiàn)更高的聚合精度和穩(wěn)定的低延遲。此外,他們不需要在多個數(shù)據(jù)中心維護不同的實時事件聚合。L0c28資訊網(wǎng)——每日最新資訊28at.com

性能比較

L0c28資訊網(wǎng)——每日最新資訊28at.com

與舊架構中的Heron拓撲相比,新架構提供了更低的延遲,并提供了更高的吞吐量。此外,新架構處理了延遲事件計數(shù),并且在進行實時聚合時不會丟失事件。更重要的是,新架構中沒有批處理組件,因此簡化了設計并減少了舊架構中存在的計算成本。L0c28資訊網(wǎng)——每日最新資訊28at.com

結(jié)論

通過將基于TSAR的舊架構遷移到Twitter數(shù)據(jù)中心和Google Cloud平臺的混合架構,Twitter能夠?qū)崟r處理數(shù)十億事件,并實現(xiàn)低延遲、高精度、穩(wěn)定性、架構簡化和降低工程師的運營成本。L0c28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-83612-0.htmlTwitter如何優(yōu)化處理4000億事件的流程

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 銘瑄科技出席 2024 英特爾網(wǎng)咖及電競酒店行業(yè)生態(tài)論壇 為電競生態(tài)貢獻力量

下一篇: Python的這個特性,省了我一大堆代碼

標簽:
  • 熱門焦點
  • K60至尊版狂暴引擎2.0加持:超177萬跑分斬獲性能第一

    Redmi的后性能時代戰(zhàn)略發(fā)布會今天下午如期舉辦,在本次發(fā)布會上,Redmi公布了多項關于和聯(lián)發(fā)科的深度合作,以及新機K60 Ultra在軟件和硬件方面的特性,例如:“K60 至尊版,雙芯旗艦
  • 6月安卓手機好評榜:魅族20 Pro蟬聯(lián)冠軍

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年6月1日至6月30日,僅限國內(nèi)市場。第一名:魅族20 Pro好評率:95%5月份的時候魅族20 Pro就是
  • 轎車從天而降電動車主被撞身亡 超速搶道所致:現(xiàn)場視頻讓網(wǎng)友吵翻

    近日,上海青浦區(qū)法院判決轎車從天而降電動車主被撞身亡案,轎車車主被判有期徒刑一年。案件顯示當時男子駕駛轎車在上海某路段行駛,前車忽然轉(zhuǎn)彎提速超車,
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個線程之間通過某種機制進行協(xié)調(diào)和交互,例如,線程等待和通知機制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實現(xiàn)手段有以下幾種方式:Object 類下
  • 這款新興工具平臺,讓你的電腦效率翻倍

    隨著信息技術的發(fā)展,我們獲取信息的渠道越來越多,但是處理信息的效率卻成為一個瓶頸。于是各種工具應運而生,都在爭相解決我們的工作效率問題。今天我要給大家介紹一款效率
  • ESG的面子與里子

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之三伏大幕拉起,各地高溫預警不絕,但處于厄爾尼諾大“烤”之下的除了眾生,還有各大企業(yè)發(fā)布的ESG報告。ESG是“環(huán)境保
  • 認真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經(jīng)無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關心的“網(wǎng)紅”。7月5日至9日,為期5天的東方甄選“甘肅行”首次在自有App內(nèi)直播,
  • 小米公益基金會捐贈2500萬元馳援北京、河北暴雨救災

    8月2日消息,今日小米科技創(chuàng)始人雷軍在其微博上發(fā)布消息稱,小米公益基金會宣布捐贈2500萬元馳援北京、河北暴雨救災。攜手抗災,京冀安康!以下為公告原文
  • 華為HarmonyOS 4.0將于8月4日發(fā)布 或搭載AI大模型技術

    華為宣布HarmonyOS4.0將于8月4日正式發(fā)布。此前,華為已經(jīng)針對開發(fā)者公布了HarmonyOS4.0,以便于開發(fā)者提前進行適配,也因此被曝光出了一些新系統(tǒng)的特性
Top 主站蜘蛛池模板: 巴塘县| 江源县| 新河县| 枣庄市| 安宁市| 隆化县| 赤峰市| 富蕴县| 山西省| 武义县| 乌海市| 潼南县| 西乌珠穆沁旗| 泗阳县| 蓬莱市| 文山县| 敦煌市| 耿马| 宁安市| 沁源县| 宁化县| 西峡县| 樟树市| 西安市| 闽清县| 巫山县| 聂拉木县| 连江县| 荆州市| 保康县| 老河口市| 高清| 宜丰县| 南靖县| 镇平县| 永吉县| 南安市| 河池市| 浦江县| 玉山县| 当阳市|