9.10. 监控中心扩展

负责服务调用次和调用时间的监控。

扩展接口

  • org.apache.dubbo.monitor.MonitorFactory
  • org.apache.dubbo.monitor.Monitor

扩展配置

<!-- 定义监控中心 -->
<dubbo:monitor address="xxx://ip:port" />

已知扩展

org.apache.Dubbo.monitor.support.dubbo.DubboMonitorFactory

扩展示例

  • Maven 项目结构:
    src
     |-main
        |-java
            |-com
                |-xxx
                    |-XxxMonitorFactoryjava (实现MonitorFactory接口)
                    |-XxxMonitor.java (实现Monitor接口)
        |-resources
            |-META-INF
                |-dubbo
                    |-org.apache.dubbo.monitor.MonitorFactory (纯文本文件,内容为:xxx=com.xxx.XxxMonitorFactory)
    
  • XxxMonitorFactory.java:
    package com.xxx;
    import org.apache.dubbo.monitor.MonitorFactory;
    import org.apache.dubbo.monitor.Monitor;
    import org.apache.dubbo.common.URL;
    public class XxxMonitorFactory implements MonitorFactory {
        public Monitor getMonitor(URL url) {
            return new XxxMonitor(url);
        }
    }
    
  • XxxMonitor.java:
    package com.xxx;
    import org.apache.dubbo.monitor.Monitor;
    public class XxxMonitor implements Monitor {
        public void count(URL statistics) {
            // ...
        }
    }
    
  • META-INF/dubbo/org.apache.dubbo.monitor.MonitorFactory:
    xxx=com.xxx.XxxMonitorFactory
    
下一节:扩展点本身的加载容器,可从不同容器加载扩展点。