Dubbo?

    Dubbo是资源调度和治理中心的管理工具

dubbo+zookeeper配置及使用


服务端:发布服务---注册服务

客户端:连接注册---返回结果---调用服务

    官方推荐使用Zookeeper作为Dubbo的注册中心

    Zookeeper:

        1.可以作为集群管理工具使用。

        2.可以集中管理配置文件。

安装zoopeeker:
    进入Apache官网,找到zookeeper项目下载

    http://www.apache.org/index.html#projects-list

导航:project---dubbo+zookeeper配置及使用---点击

找到:  Getting Started---Download 

    利用工具吧zookeeper上传到linux系统中

    dubbo+zookeeper配置及使用


dubbo+zookeeper配置及使用

解压:

dubbo+zookeeper配置及使用

创建一个目录:

   dubbo+zookeeper配置及使用

进入conf文件夹中,拷贝zoo_sample.cfg--->zoo.cfg

    dubbo+zookeeper配置及使用

dubbo+zookeeper配置及使用

编辑刚刚复制好的cfg文件

        vim zoo.cfg

    dubbo+zookeeper配置及使用

修改:把数据文件放到之前创建好的data目录中去

dubbo+zookeeper配置及使用

进入bin目录中启动zookeeper

启动:./zkServer.sh start

查看状态:./zkServer.sh status  

关闭:./zkServer.sh stop

dubbo+zookeeper配置及使用

如果遇到启动了 但是查看状态的时候说没启动的时候,吧data里面的pid文件删除  重启ok

自选:1.关闭防火墙(自己的虚拟机,开毛线的防火墙呀)

            2.配置防火墙,开启端口 2181

   防火墙开放端口

vim /etc/sysconfig/iptables

dubbo+zookeeper配置及使用

二选一

到此,注册中心配置文成

发布服务:

工程中需要添加dubbo依赖的jar包,zookeeper以及zookeeper的客户端zkclient

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>

spring配置文件:

加上dubbo的前缀以及约束

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"


http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd



        <!-- 使用dubbo发布服务 -->

<dubbo:application name="服务的工程名(别重复)" />

        <!-- 

            表明注册中心是什么 

            集群:192.168.233.128:2181,192.168.233.128:2182.....

        -->

<dubbo:registry protocol="zookeeper" address="192.168.233.128:2181" />
<!-- 用dubbo协议在20880端口暴露服务,默认:20880 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="接口的全限定名[com.xyh.service.TestService]" ref="testServiceImpl[实现类对象]" timeout="600000" />

到此,服务已经可以发布,接下来是引用服务

同样的需要引入相关的jar包

SpringNVC.XML:

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"


http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd


pom.xml:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>
引用服务-----reference

<dubbo:application name="工程名"/>
<dubbo:registry protocol="zookeeper" address="192.168.233.128:2181"/>
<dubbo:reference interface="com.xyh.service.TestService" id="testService"/>

Controller中就可以直接注入使用

@Autowired


private TestService testService;

到此,已经可以使用,现在需要启动工程来测试就ok~~

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"

http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd

相关文章: