首页 > 其他 > 详细

Dubbo Monitor 实现原理?

时间:2020-12-01 13:56:40      阅读:40      评论:0      收藏:0      [点我收藏+]

Consumer 端在发起调用之前会先走 filter ;provider 端在接收到请求时也是 

先走 filter 然后才进行真正的业务逻辑处理

默认情况下 consumer  provider  filter 链中都会有 Monitorfilter。

1、MonitorFilter  DubboMonitor 发送数据 

2、DubboMonitor 将数据进行聚合后默认聚合 1min 中的统计数据暂存到 

ConcurrentMap<Statistics, AtomicReference> statisticsMap,然后使用一个 

含有 3 个线程线程名字:DubboMonitorSendTimer)的线程池每隔 1min

调用 SimpleMonitorService 遍历发送 statisticsMap 中的统计数据每发送完毕 

一个就重置当前的 Statistics  AtomicReference

3、SimpleMonitorService 将这些聚合数据塞入 BlockingQueue queue  

列大写为 100000)4、SimpleMonitorService 使用一个后台线程线程名为

DubboMonitorAsyncWriteLogThread) queue 中的数据写入文件该线程以 

死循环的形式来写

5、SimpleMonitorService 还会使用一个含有 1 个线程线程名字

DubboMonitorTimer)的线程池每隔 5min 将文件中的统计数据画成图表 

Dubbo Monitor 实现原理?

原文:https://www.cnblogs.com/programb/p/12845261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!