大衆點評Cat源碼分析(四)——Report讀寫邏輯

1、Report讀邏輯

一、小時模式

1.1 當前小時讀邏輯

請求當前小時報表,會發起遠程調用請求,對每個server發起一個/cat/r/model的請求。這個請求會調用LocalTransactionService從內存TansactionAnalyzer中讀取報表,若是爲空,則從磁盤中讀取,最後將讀取到的報表返回給調用端。 輸入圖片說明數據庫

1.2 上一個小時的讀邏輯

邏輯跟上面相似,區別在於,上一個小時的數據,通常都落盤了,都是從磁盤中讀取的。server

1.3 上上一個小時及更早之前(歷史小時)

歷史模式的數據直接調用TransactionReportService從數據庫中讀取。 輸入圖片說明圖片

二、歷史模式

2.1 歷史天、周、月

歷史模式很簡單,跟1.3 歷史小時的讀取方式相似,也是從數據庫中讀取。內存

2、Report寫邏輯

一、實時小時落盤、落庫邏輯

TODOit

二、天、周、月報表落庫邏輯

這種歷史數據以定時任務的方式,固定週期從數據庫讀取,彙總,而後落庫 輸入圖片說明io

相關文章
相關標籤/搜索