• 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
  • 相关阅读:
    hdoj 2803 The MAX【简单规律题】
    hdoj 2579 Dating with girls(2)【三重数组标记去重】
    hdoj 1495 非常可乐【bfs隐式图】
    poj 1149 PIGS【最大流经典建图】
    poj 3281 Dining【拆点网络流】
    hdoj 3572 Task Schedule【建立超级源点超级汇点】
    hdoj 1532 Drainage Ditches【最大流模板题】
    poj 1459 Power Network【建立超级源点,超级汇点】
    hdoj 3861 The King’s Problem【强连通缩点建图&&最小路径覆盖】
    hdoj 1012 u Calculate e
  • 原文地址:https://www.cnblogs.com/excellent-vb/p/9377562.html
Copyright © 2020-2023  润新知