Dubbox 环境搭建-新(Windows下)

 分布式服务框架 dubbo/dubbox 入门示例

dubbo是一个分布式的服务架构,可直接用于生产环境作为SOA服务框架。

官网首页:http://dubbo.io/ ,官方用户指南 http://dubbo.io/User+Guide-zh.htm上面的几张图画得不错,完全可以当做SOA架构的学习资料

淘宝将这个项目开源出来以后,得到了不少同行的支持,包括:

当当网的扩展版本dubbox :https://github.com/dangdangdotcom/dubbox

京东的扩展版本jd-hydra: http://www.oschina.net/p/jd-hydra

不过,略有遗憾的是,据说在淘宝内部,dubbo由于跟淘宝另一个类似的框架HSF(非开源)有竞争关系,导致dubbo团队已经解散(参见http://www.oschina.net/news/55059/druid-1-0-9 中的评论),反到是当当网的扩展版本仍在持续发展,墙内开花墙外香。

不管如何,能在阿里、当当、京东这些大型网站正式使用的框架,总不至于差到哪里去。

本文下面的示例均基于当当的dubbox版本,由于dubbox并没向maven提交编译后的jar包,所以只能从github clone代码到本地编译得到jar包,之后操作如下:

cmd命令输入

mvn install:install-file -Dfile=你的dubbo-2.8.4.jar路径dubbo-2.8.4.jar -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar

编译及测试步骤:(以下步骤全在windows环境中完成)
1.dubbo-admin控制台的安装
1.1打开dubbox的官网https://github.com/dangdangdotcom/dubbox
点击Clone or download 我们选择最原始的Download ZIP,当前的stable版本是2.8.4

1.2下载到某个文件夹下,解压文件夹

1.3解压dubbox-master.zip

1.4按住键盘shift 鼠标右击,选择命令窗口,进入maven编译 :

2.输入mvn install -Dmaven.test.skip=true

编译安装大概需要好几分钟,编译安装成功之后显示如下:

好了,到此为止,dubbox2.8.4就算是编译成功了,接下来我们要先搭建dubbox的控制台,因为可视化是我们最喜欢的模式了,

进入刚下载解压的文件夹dubbox-masterdubbo-admin arget下

找到dubbo-admin-2.8.4.war文件,因为这是一个war文件,所以我们就使用tomcat启动,没下载tomcat的请自行下载,

将刚才的dubbo-admin-2.8.4.war复制到tomcat的webapps文件夹下,

3.因为dubbo的注册中心和管理控制台是依赖zookeeper,

所以我们在测试环境下,需要启动一个zookeeper的实例,关于zookeeperwindow环境下的搭建就不赘述了,

zookeeper下载地址:  https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz

把下载的zookeeper的文件解压到指定目录,修改conf下增加一个zoo.cfg,内容如下:

tickTime=2000
initLimit=10
syncLimit=5

#例如:D:/java/zookeeper-3.4.6/data,没data文件夹的可新建
dataDir=你的zookeeper路径/data
dataLogDir=你的zookeeper路径/log  
clientPort=2181
server.1=localhost:2287:3387

然后进入zookeeper的bin目录下,双击zkServer.cmd 启用zookeeper

4.eclipse导入:选择已经存在的maven工程(即解压的dobbox-master),导入完成后,可能你会看到很多子包一起显示了出来,这样看着不爽,改变包的显示形式,

选择package presentation,再选择第二个,刚开始可能没效果,我是在这两个不停选择才出现下面树形效果:

5.运行 dubboxdubbo-demodubbo-demo-providersrc estjavacomalibabadubbodemoproviderDemoProvider.java 

记得是选择运行java application(下面也是,运行后)所有服务全注册在这里了

6.运行dubboxdubbo-demodubbo-demo-consumersrc estjavacomalibabadubbodemoconsumerDemoConsumer.java

服务消费方调用测试,可以看console里的输出

7.运行dubboxdubbo-demodubbo-demo-consumersrc estjavacomalibabadubbodemoconsumerRestClient.java

8.浏览器访问 http://localhost:8888/services/users/100.xml 或 http://localhost:8888/services/users/100.json

  当出现下面内容,表示ok:

  

<?xml version="1.0" encoding="UTF-8" standalone="true"?>

-<user>

  <id>100</id>

  <username>username100</username>

</user>

9.dubbo构架中,zk充着“服务注册中心”的角色,所以生产者与消费者的xml配置文件中,都要配置zk地址,如果zk采用集群部署时,配置写法参考下面这样:

<dubbo:registry address="zookeeper://172.28.*.102:2181?backup=172.28.*.102:2182,172.28.*.102:2183"/>
172.28.*.102:这里改成自己的ip地址,改成127.0.0.1即可

dubbo还有一个管理界面,用于服务治理,包括启用/禁用服务,设置服务的路由规则(即:A地址的Consumer直接调用B机器的Provider,而不是由负载均衡算法分配)等等。

使用方法:将dubbo-admin这个项目编译成war包后,部署到jetty或其它兼容web server即可(当然要修改WEB-INFdubbo.properties里zk的地址)

部署完成后,访问管理界面时,默认用户名,密码均是root。 

另外dubbo-monitor项目用于性能监控,结合监控产生的数据,再套上一些图表展示的框架,可以用图表方式直观展示各种指标。

注:官网给出的dubbo-admin采用的webx架构有点老,而且除了淘宝之外,几乎没人在用,dubbo-monitor-simple界面也比较古朴,所以社区也人对其做了扩展,详情参考另一篇博客dubbox 的各种管理和监管

2016-02-25:dubbox依赖的spring虽然升级成3.x了,但版本还是有点低,spring都已经4.x了,为了方便我fork了一份,升级成spring 4.x 同时增加了log4j2的日志组件支持,详情见:dubbox升级spring到4.x及添加log4j2支持

10.将dobbox-master部署到tomcat,然后部署运行,运行时可能会超过45秒,需要把时间调大,双击tomcat

双击Timeouts,修改Timeouts:

11.浏览器输入http://localhost:端口号/dubbo-admin/,默认用户名,密码均是root,

参考文章:

http://shiyanjun.cn/archives/341.html

http://blog.csdn.net/wilsonke/article/details/39896595

http://www.dataguru.cn/thread-464197-1-1.html

http://www.iteye.com/magazines/103

http://dangdangdotcom.github.io/dubbox/rest.html

http://dangdangdotcom.github.io/dubbox/demo.html

http://blog.csdn.net/hzzhoushaoyu/article/details/43273099

mysql
原文地址:https://www.cnblogs.com/excellent-vb/p/9377562.html