大众点评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

相关文章
相关标签/搜索