• 1,安装并启动zookeeper注册服务,这里使用的是3.4.6版本。

    下载解压后,在zookeeper-3.4.6/conf/下,默认是没有zoo.cfg,只有一个zoo_sample.cfg。

    CMD命令行进入zookeeper-3.4.6/bin/目录,直接运行zkServer.cmd会出错,提示找不到zoo.cfg文件。
    因此需要将zookeeper-3.4.6/conf/下zoo_sample.cfg拷贝一个zoo.cfg,配置数据存储路径dataDir=E://tmp/zookeeper

    再次运行zkServer.cmd,可启动成功。

    2,下载dubbo管理程序war包,这里使用的是2.5.4版本。

    下载地址:http://pan.baidu.com/s/1o8iYIfC

    下载解压后,放在tomcat/webapp/目录下直接运行。
    这里tomcat是9090端口,访问http://127.0.0.1:9090/dubbo-admin-2.5.4/,会出现身份验证登录窗口。在WEB-INF目录下,查看dubbo.properties文件,可看到用户名密码配置以及zookeeper注册地址信息

    dubbo.registry.address=zookeeper://127.0.0.1:2181

    dubbo.admin.root.password=root

    dubbo.admin.guest.password=guest

    使用root/root登陆。


    查看“服务治理”-“服务”,当前还没有可用服务信息


    3,开发一个dubbo服务端并注册到zookeeper。

    maven依赖:

    <>

        <>

          <>junit<>

          <>junit<>

          <>4.11<>

          <>test<>

        <>

        <>

    <>org.springframework<>

    <>spring-core<>

    <>3.1.1.RELEASE<>

    <>

    <>

    <>org.springframework<>

    <>spring-web<>

    <>3.1.1.RELEASE<>

    <>

    <>

    <>org.springframework<>

    <>spring-webmvc<>

    <>3.1.1.RELEASE<>

    <>

    <>

       <>com.alibaba<>

       <>dubbo<>

       <>2.5.2<>

    <>

    <>

       <>org.javassist<>

       <>javassist<>

       <>3.18.1-GA<>

    <>

        <>

            <>org.jboss.netty<>

            <>netty<>

            <>3.2.5.Final<>

        <>

        <>

            <>com.101tec<>

            <>zkclient<>

            <>0.4<>

        <>

      <>

    项目结构示意图

    接口声明:

    dubbo+zookeeper+dubbo管理控制台实践demo_第1张图片
    spring描述声明文件:

    启动服务,既可以使用web.xml加载启动,也可以main方法启动:


    启动后,再次查看“服务治理”-“服务”,已经可以查看到服务已成功注册:



    4,开发一个dubbo消费者。

    maven依赖同上。

    项目结构示意图:


    spring描述声明文件:


    查看dubbo管理控制台,消费者信息:

    使用main方法测试远程调用dubbo服务:


    控制台输出结果:



    总结:至此已完成了一个相对完整的dubbo框架调用实例,当然对于这样一个广泛应用的成熟的分布式应用框架,一定还有很多很多可以深入研究的东西。核心技术:Maven,Springmvc mybatis shiro, Druid, Restful, Dubbo, ZooKeeper,Redis,FastDFS,ActiveMQ,Nginx 
    1.     项目核心代码结构截图

       项目模块依赖


    特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化

    2.    项目依赖介绍

       2.1 后台管理系统、Rest服务系统、Scheculer定时调度系统依赖如下图:

     



           2.2 Dubbo独立服务项目依赖如下图:

     

    3.  项目功能部分截图:

     

     

     

     

     

     



    zookeeper、dubbo服务启动 

     



    dubbo管控台 

     

     

     

     

     

     

     REST服务平台