Dubbo Monitor 实现原理是什么【面试题详解】

今天爱分享给大家带来Dubbo Monitor 实现原理是什么【面试题详解】,希望能够帮助到大家。

答:Consumer 端在发起调用之前会先走 filter 链;provider 端在接收到请求时也是先走 filter 链,然后才进行真正的业务逻辑处理。默认情况下,在 consumer 和 provider 的 filter 链中都会有 Monitorfilter。

1、MonitorFilter 向 DubboMonitor 发送数据

2、DubboMonitor 将数据进行聚合后(默认聚合 1min 中的统计数据)暂存到ConcurrentMap statisticsMap,然后使用一个含有 3 个线程(线程名字:DubboMonitorSendTimer)的线程池每隔 1min 钟,调用 SimpleMonitorService 遍历发送 statisticsMap 中的统计数据,每发送完毕一个,就重置当前的 Statistics 的 AtomicReference

3、SimpleMonitorService 将这些聚合数据塞入 BlockingQueue queue 中(队列大写为 100000)

4、SimpleMonitorService 使用一个后台线程(线程名为:DubboMonitorAsyncWriteLogThread)将 queue 中的数据写入文件(该线程以死循环的形式来写)

5、SimpleMonitorService 还会使用一个含有 1 个线程(线程名字:DubboMonitorTimer)的线程池每隔 5min 钟,将文件中的统计数据画成图表

人已赞赏
服务器

Dubbo 的整体架构设计有哪些分层【面试题详解】

2020-11-17 16:28:36

服务器

Dubbo 使用了哪些设计模式【面试题详解】

2020-11-17 16:32:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();