精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

每秒千萬級實時數據處理系統是如何設計的?

系統
閑魚目前實際生產部署環境越來越復雜,橫向依賴各種服務盤根錯節,縱向依賴的運行環境也越來越復雜。

閑魚目前實際生產部署環境越來越復雜,橫向依賴各種服務盤根錯節,縱向依賴的運行環境也越來越復雜。

[[274369]]

圖片來自 Pexels

當服務出現問題的時候,能否及時在海量的數據中定位到問題根因,成為考驗閑魚服務能力的一個嚴峻挑戰。

線上出現問題時常常需要十多分鐘,甚至更長時間才能找到問題原因,因此一個能夠快速進行自動診斷的系統需求就應運而生,而快速診斷的基礎是一個高性能的實時數據處理系統。

這個實時數據處理系統需要具備如下的能力:

  • 數據實時采集、實時分析、復雜計算、分析結果持久化。
  • 可以處理多種多樣的數據。包含應用日志、主機性能監控指標、調用鏈路圖。
  • 高可靠性。系統不出問題且數據不能丟。
  • 高性能,低延時。數據處理的延時不超過 3 秒,支持每秒千萬級的數據處理。

本文不涉及問題自動診斷的具體分析模型,只討論整體實時數據處理鏈路的設計。

輸入輸出定義

為了便于理解系統的運轉,我們定義該系統整體輸入和輸出。

輸入

服務請求日志(包含 traceid、時間戳、客戶端 IP、服務端 IP、耗時、返回碼、服務名、方法名)。

環境監控數據(指標名稱、IP、時間戳、指標值)。比如 CPU、 JVM GC 次數、JVM GC 耗時、數據庫指標。

輸出

一段時間內的某個服務出現錯誤的根因,每個服務的錯誤分析結果用一張有向無環圖表達。(根節點即是被分析的錯誤節點,葉子節點即是錯誤根因節點。葉子節點可能是一個外部依賴的服務錯誤也可能是 JVM 異常等等)。

架構設計

在實際的系統運行過程中,隨著時間的推移,日志數據以及監控數據是源源不斷的在產生的。

每條產生的數據都有一個自己的時間戳。而實時傳輸這些帶有時間戳的數據就像水在不同的管道中流動一樣。

如果把源源不斷的實時數據比作流水,那數據處理過程和自來水生產的過程也是類似的:

自然地,我們也將實時數據的處理過程分解成采集、傳輸、預處理、計算、存儲、計算與持久化幾個階段。

整體的系統架構設計如下:

采集

采用阿里自研的 SLS 日志服務產品(包含 Logtail+LogHub 組件),Logtail 是采集客戶端。

之所以選擇 Logtail 是因為其優秀的性能、高可靠性以及其靈活插件擴展機制,閑魚可以定制自己的采集插件實現各種各樣數據的實時采集。

傳輸

Loghub 可以理解為一個數據發布訂閱組件,和 Kafka 的功能類似,作為一個數據傳輸通道其更穩定、更安全。

詳細對比文章參考:

  1. https://yq.aliyun.com/articles/35979?spm=5176.10695662.1996646101.searchclickresult.6f2c7fbe6g3xgP 

預處理

實時數據預處理部分采用 Blink 流計算處理組件(開源版本叫做 Flink,Blink 是阿里在 Flink 基礎上的內部增強版本)。

目前常用的實時流計算開源產品有 Jstorm、Spark Stream、Flink:

  • Jstorm 由于沒有中間計算狀態的,其計算過程中需要的中間結果必然依賴于外部存儲,這樣會導致頻繁的 IO 影響其性能。
  • Spark Stream 本質上是用微小的批處理來模擬實時計算,實際上還是有一定延時。
  • Flink 由于其出色的狀態管理機制保證其計算的性能以及實時性,同時提供了完備 SQL 表達,使得流計算更容易。

計算與持久化

數據經過預處理后最終生成調用鏈路聚合日志和主機監控數據,其中主機監控數據會獨立存儲在 TSDB 時序數據庫中,供后續統計分析。

TSDB 由于其針對時間指標數據的特別存儲結構設計,非常適合做時序數據的存儲與查詢。

調用鏈路日志聚合數據,提供給 Cep/Graph Service 做診斷模型分析。

Cep/Graph Service 是閑魚自研的一個應用,實現模型分析、復雜的數據處理以及外部服務進行交互,同時借助 RDB 實現圖數據的實時聚合。

最后 Cep/Graph Service 分析的結果作為一個圖數據,實時轉儲在 Lindorm 中提供在線查詢。Lindorm 可以看作是增強版的 Hbase,在系統中充當持久化存儲的角色。

詳細設計與性能優化

采集

日志和指標數據采集使用 Logtail,整個數據采集過程如圖:

其提供了非常靈活的插件機制,共有四種類型的插件:

  • Inputs:輸入插件,獲取數據。
  • Processors:處理插件,對得到的數據進行處理。
  • Aggregators:聚合插件,對數據進行聚合。
  • Flushers:輸出插件,將數據輸出到指定 Sink。

由于指標數據(比如 CPU、內存、JVM 指標)的獲取需要調用本地機器上的服務接口獲取,因此應盡量減少請求次數,在 Logtail 中,一個 Input 占用一個 Goroutine。

閑魚通過定制 Input 插件和 Processors 插件,將多個指標數據(比如 CPU、內存、JVM 指標)在一個 Input 插件中通過一次服務請求獲取(指標獲取接口由基礎監控團隊提供)。

并將其格式化成一個 Json 數組對象,在 Processors 插件中再拆分成多條數據,以減少系統的 IO 次數同時提升性能。

傳輸

數據傳輸使用 LogHub,Logtail 寫入數據后直接由 Blink 消費其中的數據,只需設置合理的分區數量即可。

分區數要大于等于 Blink 讀取任務的并發數,避免 Blink 中的任務空轉。

預處理

預處理主要采用 Blink 實現,主要的設計和優化點:

①編寫高效的計算流程

Blink 是一個有狀態的流計算框架,非常適合做實時聚合、Join 等操作。在我們的應用中只需要關注出現錯誤的的請求上相關服務鏈路的調用情況。

因此整個日志處理流分成兩個流:

  • 服務的請求入口日志作為一個單獨的流來處理,篩選出請求出錯的數據。
  • 其他中間鏈路的調用日志作為另一個獨立的流來處理,通過和上面的流 Join On Traceid 實現出錯服務依賴的請求數據篩選。

如上圖所示通過雙流 Join 后,輸出的就是所有發生請求錯誤相關鏈路的完整數據。

②設置合理的 State 生命周期

Blink 在做 Join 的時候本質上是通過 State 緩存中間數據狀態,然后做數據的匹配。

而如果 State 的生命周期太長會導致數據膨脹影響性能,如果 State 的生命周期太短就會無法正常關聯出部分延遲到來的數據,所以需要合理的配置 State 生存周期,對于該應用允許最大數據延遲為 1 分鐘。

  1. 使用niagara作為statebackend,以及設定state數據生命周期,單位毫秒 
  2. state.backend.type=niagara 
  3. state.backend.niagara.ttl.ms=60000 

③開啟 MicroBatch/MiniBatch

MicroBatch 和 MiniBatch 都是微批處理,只是微批的觸發機制上略有不同。原理上都是緩存一定的數據后再觸發處理,以減少對 State 的訪問從而顯著提升吞吐,以及減少輸出數據量。

  1. 開啟join 
  2. blink.miniBatch.join.enabled=true 
  3. 使用 microbatch 時需要保留以下兩個 minibatch 配置 
  4. blink.miniBatch.allowLatencyMs=5000 
  5. 防止OOM,每個批次最多緩存多少條數據 
  6. blink.miniBatch.size=20000 

④Dynamic-Rebalance 替代 Rebalance

Blink 任務在運行時最忌諱的就是存在計算熱點,為保證數據均勻使用 Dynamic Rebalance,它可以根據當前各 Subpartition 中堆積的 Buffer 的數量,選擇負載較輕的 Subpartition 進行寫入,從而實現動態的負載均衡。

相比于靜態的 Rebalance 策略,在下游各任務計算能力不均衡時,可以使各任務相對負載更加均衡,從而提高整個作業的性能。

  1. 開啟動態負載 
  2. task.dynamic.rebalance.enabled=true 

⑤自定義輸出插件

數據關聯后需要將統一請求鏈路上的數據作為一個數據包通知下游圖分析節點,傳統的方式是通過消息服務來投遞數據。

但是通過消息服務有兩個缺點:

  • 其吞吐量和 RDB 這種內存數據庫相比還是較大差距(大概差一個數量級)。
  • 在接受端還需要根據 traceid 做數據關聯。

我們通過自定義插件的方式將數據通過異步的方式寫入 RDB,同時設定數據過期時間。

在 RDB 中以

寫入的同時只將 traceid 做為消息內容通過 MetaQ 通知下游計算服務,極大的減少了 MetaQ 的數據傳輸壓力。

圖聚合計算

Cep/Graph 計算服務節點在接收到 MetaQ 的通知后,綜合根據請求的鏈路數據以及依賴的環境監控數據,會實時生成診斷結果。

診斷結果簡化為如下形式:

說明本次請求是由于下游 JVM 的線程池滿導致的,但是一次調用并不能說明該服務是不可用的根本原因,需要分析整體的錯誤情況,那就需要對圖數據做實時聚合。

聚合設計如下(為了說明基本思路,做了簡化處理):

  • 首先利用 Redis 的 Zrank 能力為根據服務名或 IP 信息為每個節點分配一個全局唯一排序序號。
  • 為圖中的每個節點生成對應圖節點編碼,編碼格式。
  • 對于頭節點:頭節點序號|歸整時間戳|節點編碼。
  • 對于普通節點:|歸整時間戳|節點編碼。
  • 由于每個節點在一個時間周期內都有唯一的 Key,因此可以將節點編碼作為 Key 利用 Redis 為每個節點做計數。同時消除了并發讀寫的問題。
  • 利用 Redis 中的 Set 集合可以很方便的疊加圖的邊。
  • 記錄根節點,即可通過遍歷還原聚合后的圖結構。

聚合后的結果大致如下:

這樣最終生成了服務不可用的整體原因,并且通過葉子節點的計數可以實現根因的排序。

收益

系統上線后,整個實時處理數據鏈路的延遲不超過 3 秒。閑魚服務端問題的定位時間從十多分鐘甚至更長時間下降到 5 秒內。大大的提升了問題定位的效率。

展望

目前的系統可以支持閑魚每秒千萬的數據處理能力。后續自動定位問題的服務可能會推廣到阿里內部更多的業務場景,隨之而來的是數據量的成倍增加,因此對于效率和成本提出了更好的要求。

未來我們可能做的改進:

  • 能夠自動的減少或者壓縮處理的數據。
  • 復雜的模型分析計算也可以在 Blink 中完成,減少 IO,提升性能。
  • 支持多租戶的數據隔離。

 

責任編輯:武曉燕 來源: 閑魚技術
相關推薦

2013-09-23 09:24:33

2016-12-13 11:56:09

大數據Hadoop計算框架

2016-11-01 09:15:43

大數據處理系統

2016-11-07 14:59:45

大數據數據處理系統

2015-06-16 16:49:25

AWSKinesis實時數據處理

2020-03-30 15:04:10

數據庫工具技術

2023-09-26 09:29:08

Java數據

2022-11-09 10:26:48

智慧城市物聯網

2012-05-18 10:49:36

SAP大數據HANA

2020-03-18 16:15:21

億級搜索數據

2013-02-21 16:27:07

開源開源流計算

2023-10-11 14:37:21

工具開發

2023-11-21 08:11:48

Kafka的分區策略

2024-07-05 10:17:08

數據流系統CPU

2020-03-18 07:11:24

實時同步搜索

2015-11-09 09:58:31

大數據Lambda架構

2023-12-13 09:00:00

2015-10-08 10:35:47

架構師開源實時流處理

2021-07-29 08:00:00

開源數據技術

2012-12-06 10:59:51

大數據
點贊
收藏

51CTO技術棧公眾號

精品人妻无码一区二区色欲产成人 | 国产精品视频精品| 中文字幕伦理片| 经典三级久久| 图片区日韩欧美亚洲| 日韩亚洲不卡在线| 永久av免费在线观看| 天天爽夜夜爽夜夜爽| 丝袜亚洲精品中文字幕一区| 日韩女优电影在线观看| 乱人伦xxxx国语对白| 国产精品毛片一区二区三区四区| 伊人影院久久| 在线视频欧美日韩| 中文字幕第九页| 日日夜夜一区| 中文字幕第一区综合| aa日韩免费精品视频一| 欧美h片在线观看| 国产激情欧美| 婷婷综合在线观看| 视频一区二区视频| 国产资源在线观看| 波多野结衣91| 91免费视频网站| 91香蕉视频网| 国产精久久久| 色综合一区二区三区| r级无码视频在线观看| 毛片免费不卡| 国产伦理精品不卡| 国产成人av网址| 国产午夜福利片| 亚洲国产成人精品女人| 国产一区二区久久精品| 国产精品无码在线| 日韩一区二区三区色| 亚洲线精品一区二区三区 | 欧美一级大片免费看| 日韩另类视频| 色综合久久久久网| 青青草原av在线播放| 黄色美女视频在线观看| 亚洲人成亚洲人成在线观看图片 | 日韩欧美aⅴ综合网站发布| 国产精品精品软件视频| 国产乱淫a∨片免费视频| 秋霞av亚洲一区二区三| 国产精国产精品| 欧美啪啪小视频| 国产亚洲激情| 欧美一区二区视频97| 精品国产乱码一区二区| 99热精品在线| 97视频在线观看视频免费视频 | 麻豆亚洲av熟女国产一区二| 91视频综合| 日韩小视频在线| 国产白丝一区二区三区| 99精品视频精品精品视频 | 成人黄色一区二区| 欧美大片免费高清观看| 91电影在线观看| 黄色成人免费看| 久久不卡日韩美女| 欧美美女一区二区在线观看| 日韩在线一区视频| 久久精品一级| 精品国产乱码久久久久久夜甘婷婷 | 欧美极品免费| 精品视频免费看| 三年中文在线观看免费大全中国| 国产日本亚洲| 精品国产一二三| 在线免费观看成年人视频| 国产一区毛片| 日韩视频在线观看免费| 欧美精品乱码视频一二专区| 亚洲国产午夜| 日韩美女视频免费看| 91久久久久久久久久久久| 国产一区二区剧情av在线| 国产激情一区二区三区在线观看 | 国产精品亚洲欧美一级在线| 日韩视频123| 亚洲制服丝袜在线播放| 国内精品伊人久久久| 久久久精品亚洲| 国产午夜精品无码| 久久夜色精品| 91久久中文字幕| 午夜视频在线免费播放| 欧美韩国日本不卡| 成人午夜免费在线视频| h视频在线观看免费| 亚洲男人都懂的| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 国产黄色大片免费看| 国产精品chinese在线观看| 亚洲人成电影网站| 99久久婷婷国产综合| 亚洲黄页一区| 国产美女久久久| 刘亦菲毛片一区二区三区| 国产欧美一区二区精品仙草咪| 在线观看成人免费| 欧洲亚洲两性| 精品日韩欧美一区二区| 久久久精品成人| 影院欧美亚洲| 91精品在线一区| 美州a亚洲一视本频v色道| 不卡av在线免费观看| 亚洲v国产v| 蜜桃av在线| 狠狠做深爱婷婷久久综合一区| 亚洲这里只有精品| 日本美女久久| 亚洲国产精品视频在线观看| 精品伦精品一区二区三区视频密桃| 伊人影院久久| 91在线网站视频| jzzjzzjzz亚洲成熟少妇| 图片区小说区国产精品视频| 在线观看网站黄| 久久综合88| 国产99久久精品一区二区| 日本波多野结衣在线| a在线播放不卡| 丰满女人性猛交| 成人1区2区| 亚洲欧洲免费视频| 国产情侣自拍av| 岛国av在线一区| 男女裸体影院高潮| 亚洲我射av| 日日噜噜噜夜夜爽亚洲精品| 久久这里只有精品9| 黑人巨大精品欧美黑白配亚洲| 久久久com| 国产传媒在线观看| 亚洲国产精品久久久久秋霞蜜臀 | 少妇被狂c下部羞羞漫画| 综合久久综合| 97超级碰碰| 亚洲日本香蕉视频| 亚洲妇熟xx妇色黄| 香蕉视频免费网站| 亚洲天堂偷拍| 国产99在线免费| 51漫画成人app入口| 精品久久久久一区| 国产精品111| 不卡影院免费观看| 人妻精品无码一区二区三区| 日韩系列在线| 日韩免费观看视频| 成人精品一区二区三区校园激情| 色偷偷一区二区三区| 中文字幕在线看高清电影| 久久激情中文| 亚洲国产高清国产精品| 波多一区二区| 亚洲国内精品视频| 久久亚洲精品国产| 国产亚洲欧美日韩日本| 99热手机在线| 久久久精品久久久久久96| 444亚洲人体| av福利在线导航| 亚洲免费电影在线观看| 怡红院男人的天堂| 亚洲精品国产一区二区三区四区在线| 制服下的诱惑暮生| 亚洲看片一区| 亚洲v国产v在线观看| 国产成人久久精品一区二区三区| 欧美精品久久久久久久免费观看| 台湾av在线二三区观看| 在线精品观看国产| 国产网站无遮挡| 首页综合国产亚洲丝袜| 伊人色综合久久天天五月婷| 亚州一区二区| 日韩av快播网址| 麻豆视频在线播放| 亚洲国产精品推荐| 91福利在线观看视频| 亚洲国产精品久久人人爱蜜臀| www.av天天| 国产成人在线视频网站| 成人免费观看毛片| 一区二区三区四区在线观看国产日韩| 国产精品一区二区三区观看| se69色成人网wwwsex| 高清一区二区三区日本久| porn视频在线观看| 亚洲精品福利视频| 97在线播放免费观看| 欧美日韩国产中文字幕| 91高清免费观看| 久久久久久久久97黄色工厂| 原创真实夫妻啪啪av| 丝袜美腿高跟呻吟高潮一区| 日本免费成人网| 日韩大片在线观看| 日本午夜在线亚洲.国产| а√中文在线8| 亚洲丝袜av一区| 狠狠人妻久久久久久综合麻豆| 欧美自拍丝袜亚洲| 天天插天天操天天干| 亚洲欧美日韩人成在线播放| 国产一区二区三区四区五区六区| 国产成人av电影在线观看| 自拍偷拍21p| 久久xxxx精品视频| 久久人人爽人人爽人人av| 99国产精品一区二区| 日本精品二区| 蜜桃精品wwwmitaows| 99在线视频免费观看| 国精品产品一区| 日本久久精品视频| 欧美调教sm| 久久久久久中文| 影音先锋男人资源在线| 精品国产一区二区三区四区在线观看 | 日韩av在线免费看| 亚洲欧美高清视频| 日韩视频免费观看高清完整版在线观看 | 超碰97在线资源| 另类视频一区二区三区| 国产日本欧美一区| 欧美xnxx| 国产精品久久久久久超碰| 大胆人体一区二区| 日本精品免费一区二区三区| 黄视频网站在线观看| 久久免费国产视频| free性护士videos欧美| 欧美大胆a视频| 亚洲综合伊人久久大杳蕉| 久久国产精品久久国产精品| 久草资源在线| 久久亚洲欧美日韩精品专区| 国产成人三级一区二区在线观看一| 精品婷婷伊人一区三区三| 中文字幕一区二区人妻痴汉电车| 91成人免费网站| 国产精华7777777| 欧美性欧美巨大黑白大战| 日批视频免费观看| 欧美三级三级三级爽爽爽| 亚洲最新av网站| 欧美区视频在线观看| 日韩女同强女同hd| 亚洲国产成人av网| www..com国产| 欧美香蕉大胸在线视频观看| 日本久久综合网| 91久久精品一区二区三| 中文字幕乱码视频| 91精品国产乱码久久蜜臀| 国产www免费观看| 精品国产一区二区精华| 欧美日韩免费做爰大片| 伊人久久久久久久久久| 韩国中文字幕在线| 欧美丰满少妇xxxxx做受| 爱啪视频在线观看视频免费| 全球成人中文在线| 日本动漫同人动漫在线观看| 亚洲欧美资源在线| aiai在线| 欧美人与性动交a欧美精品| www.视频在线.com| 久久精品99久久久久久久久 | 黄色a在线观看| 亚洲精品综合精品自拍| 日本蜜桃在线观看| 久久久久久伊人| 91p九色成人| 高清国产在线一区| 精品一二三区| 日韩小视频网站| 免费观看一级特黄欧美大片| 久久久久无码精品| 久久精品网站免费观看| 五月天激情丁香| 欧美午夜影院在线视频| 国产美女永久免费| 亚洲欧美中文在线视频| 日本大胆在线观看| 国产精品久久久久久久久久久新郎 | 欧美成人一区二区| 成人在线二区| 欧美激情日韩图片| 九九热这里有精品| 久久精彩视频| 国产精品草草| 手机视频在线观看| 91污在线观看| 欧美日韩精品亚洲精品| 在线观看欧美日本| 天堂中文在线视频| 九九热这里只有在线精品视 | 欧美美女视频在线观看| 无码精品人妻一区二区| 美女av一区二区| 69堂精品视频在线播放| 国产综合av一区二区三区| 91精品国产乱码久久久久久 | 中国一级大黄大黄大色毛片| 日韩精品成人一区二区三区 | 精品视频在线你懂得| 在线视频精品一区| 日韩综合一区二区| 91精品人妻一区二区| 亚洲国产你懂的| 国产黄色美女视频| 久久精品视频免费播放| 精品国产欧美日韩一区二区三区| 欧美成人免费在线| 一区在线播放| 无码人妻一区二区三区免费n鬼沢 久久久无码人妻精品无码 | 亚洲高清av| 久久久久亚洲av无码专区首jn| 国产精品不卡在线| 中文字幕人妻互换av久久| 亚洲新声在线观看| 欧美第一视频| 欧美成人蜜桃| 天堂在线亚洲视频| 国产免费一区二区三区网站免费| 精品久久久久久久久久久久久| 亚洲国产精彩视频| 欧美激情小视频| 天堂精品久久久久| 青青草视频在线视频| 国产乱码精品一区二区三区忘忧草| 久草手机视频在线观看| 欧美人与性动xxxx| 麻豆影院在线| 亚洲va欧美va国产综合久久| 亚洲精品va| 最新国产精品自拍| 亚洲国产精品久久人人爱| 香蕉人妻av久久久久天天| 91精品国产成人| 免费视频国产一区| 日韩无套无码精品| 国产精品久久久久久久久晋中| 亚洲一区二区激情| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲资源在线| 免费cad大片在线观看| 成人午夜免费视频| 91视频免费网址| 国产一区二区三区视频 | 亚洲黄色三级| 91精品小视频| 在线视频亚洲一区| 日本蜜桃在线观看| 国产精品9999久久久久仙踪林| 亚洲国产1区| 日本xxxxxxxxx18| 欧美精品九九99久久| 欧美巨大xxxx做受沙滩| 久久久久久九九九九| 日韩精品电影在线观看| 欧产日产国产v| 日韩成人av在线| 欧美xxxx性| 日韩欧美精品免费| 国产嫩草影院久久久久| 国产免费不卡av| 51精品国产黑色丝袜高跟鞋 | 2021国产精品久久精品| 国产天堂第一区| 欧美尺度大的性做爰视频| 奇米777国产一区国产二区| 亚洲精品怡红院| 一区二区高清视频在线观看| 青青草在线视频免费观看| 成人精品久久一区二区三区| 亚洲精品乱码| 国产黄色录像片| 亚洲精品国偷自产在线99热| 成人涩涩视频| 天堂…中文在线最新版在线| 国产精品天天摸av网| 日本免费不卡视频| 国产一区二区在线播放| 一本色道久久综合亚洲精品不| 中文字幕黄色网址| 亚洲精品久久久久久久久久久久| 国模私拍国内精品国内av| 久久久999视频| 亚洲精品国产一区二区精华液 |