zoukankan      html  css  js  c++  java
  • Dubbo Monitor 实现原理?

    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 将文件中的统计数据画成图表

  • 相关阅读:
    poj 1840(五元三次方程组)
    Selenium(二)开发环境的搭建
    Selenium(一)自动化测试简介
    (二)AppScan使用教程
    (一)AppScan的安装及破解
    (一)python3.7的安装
    读完《大道至简》后的反思
    BZOJ3585: mex
    BZOJ3544: [ONTAK2010]Creative Accounting
    BZOJ3531: [Sdoi2014]旅行
  • 原文地址:https://www.cnblogs.com/programb/p/13006964.html
Copyright © 2011-2022 走看看