Dubbo源码下载与编译
本文来讲下如何在Dubbo源码编译后,得到用于搭建管理控制台的war包和监控平台的jar包。
首先需要到Github上下载Dubbo的源码,解压后如下:
在dubbo-2.5.x目录执行 mvn clean package -Dmaven.test.skip=true 会生成如下结果:
[INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] dubbo-parent ...................................... SUCCESS [2.857s] [INFO] Hessian Lite(Alibaba embed version) ............... SUCCESS [6.518s] [INFO] dubbo-common ...................................... SUCCESS [7.706s] [INFO] dubbo-container ................................... SUCCESS [0.057s] [INFO] dubbo-container-api ............................... SUCCESS [3.398s] [INFO] dubbo-container-spring ............................ SUCCESS [1.099s] [INFO] dubbo-container-jetty ............................. SUCCESS [1.164s] [INFO] dubbo-container-log4j ............................. SUCCESS [1.196s] [INFO] dubbo-container-logback ........................... SUCCESS [1.138s] [INFO] dubbo-remoting .................................... SUCCESS [0.045s] [INFO] dubbo-remoting-api ................................ SUCCESS [3.615s] [INFO] dubbo-remoting-netty .............................. SUCCESS [1.959s] [INFO] dubbo-remoting-mina ............................... SUCCESS [1.602s] [INFO] dubbo-remoting-grizzly ............................ SUCCESS [1.752s] [INFO] dubbo-remoting-p2p ................................ SUCCESS [2.148s] [INFO] dubbo-remoting-http ............................... SUCCESS [2.154s] [INFO] dubbo-remoting-zookeeper .......................... SUCCESS [2.165s] [INFO] dubbo-remoting-netty4 ............................. SUCCESS [2.721s] [INFO] dubbo-rpc ......................................... SUCCESS [0.060s] [INFO] dubbo-rpc-api ..................................... SUCCESS [3.397s] [INFO] dubbo-rpc-default ................................. SUCCESS [3.278s] [INFO] dubbo-rpc-injvm ................................... SUCCESS [1.706s] [INFO] dubbo-rpc-rmi ..................................... SUCCESS [1.373s] [INFO] dubbo-rpc-hessian ................................. SUCCESS [1.791s] [INFO] dubbo-rpc-http .................................... SUCCESS [1.210s] [INFO] dubbo-rpc-webservice .............................. SUCCESS [1.816s] [INFO] dubbo-cluster ..................................... SUCCESS [2.690s] [INFO] dubbo-registry .................................... SUCCESS [0.033s] [INFO] dubbo-registry-api ................................ SUCCESS [2.548s] [INFO] dubbo-monitor ..................................... SUCCESS [0.020s] [INFO] dubbo-monitor-api ................................. SUCCESS [1.309s] [INFO] dubbo-filter ...................................... SUCCESS [0.023s] [INFO] dubbo-filter-validation ........................... SUCCESS [1.474s] [INFO] dubbo-filter-cache ................................ SUCCESS [1.395s] [INFO] dubbo-registry-default ............................ SUCCESS [1.402s] [INFO] dubbo-monitor-default ............................. SUCCESS [1.258s] [INFO] dubbo-registry-multicast .......................... SUCCESS [1.336s] [INFO] dubbo-config ...................................... SUCCESS [0.018s] [INFO] dubbo-config-api .................................. SUCCESS [3.498s] [INFO] dubbo-config-spring ............................... SUCCESS [3.326s] [INFO] dubbo-rpc-thrift .................................. SUCCESS [2.115s] [INFO] dubbo-rpc-memcached ............................... SUCCESS [1.476s] [INFO] dubbo-rpc-redis ................................... SUCCESS [1.367s] [INFO] dubbo-registry-zookeeper .......................... SUCCESS [1.597s] [INFO] dubbo-registry-redis .............................. SUCCESS [2.111s] [INFO] dubbo-plugin ...................................... SUCCESS [0.027s] [INFO] dubbo-qos ......................................... SUCCESS [2.574s] [INFO] dubbo ............................................. SUCCESS [2.662s] [INFO] dubbo-simple ...................................... SUCCESS [0.017s] [INFO] dubbo-registry-simple ............................. SUCCESS [5.246s] [INFO] dubbo-monitor-simple .............................. SUCCESS [11.301s] [INFO] dubbo-admin ....................................... SUCCESS [11.472s] [INFO] dubbo-demo ........................................ SUCCESS [0.034s] [INFO] dubbo-demo-api .................................... SUCCESS [1.097s] [INFO] dubbo-demo-provider ............................... SUCCESS [1.892s] [INFO] dubbo-demo-consumer ............................... SUCCESS [1.473s] [INFO] dubbo-test ........................................ SUCCESS [0.022s] [INFO] dubbo-test-benchmark .............................. SUCCESS [5.324s] [INFO] dubbo-test-compatibility .......................... SUCCESS [0.017s] [INFO] dubbo-test-spring3 ................................ SUCCESS [1.719s] [INFO] dubbo-test-integration ............................ SUCCESS [0.149s] [INFO] dubbo-test-examples ............................... SUCCESS [3.413s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2:16.562s [INFO] Finished at: Wed Mar 14 17:19:06 CST 2018 [INFO] Final Memory: 38M/654M [INFO] ------------------------------------------------------------------------
进入/Users/xxx/Downloads/dubbo-2.5.x/dubbo-admin/target目录,会发现生成了dubbo-admin-2.5.10.war。
进入/Users/xxx/Downloads/dubbo-2.5.x/dubbo-simple/dubbo-monitor-simple/target目录,会发现生成了dubbo-monitor-simple-2.5.10-assembly.tar.gz。
管理控制台的搭建
开源的Dubbo的服务管理控制台是阿里巴巴内部裁剪版本,开源部分主要包含:路由规则/动态配置/服务降级/访问控制/权重调整/负载均衡等管理功能。
接着上面的操作,进入/Users/xxx/Downloads/dubbo-2.5.x/dubbo-admin/target目录,会发现生成了dubbo-admin-2.5.10.war。
然后解压拷贝dubbo-admin-2.5.10.war后拷贝到一个Servlet容器,本文使用Tomcat容器,可以在Tomcat 官网下载Tomcat的二进制包,然后拷贝dubbo-admin-2.5.10到apache-tomcat-7.0.10/webapps 目录下:
然后进入 dubbo-admin-2.5.10/WEB-INF目录修改dubbo.properties文件:
dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=guest
这里的dubbo.registry.address为Zookeeper的地址。