本地部署zookeeper+dubbo

1、搭建zookeeper(win7环境)

请参考window7环境下ZooKeeper的安装及运行 单机搭建很简单。
2、创建SpringMVC工程,实现provider
(1)pom中添加依赖如下:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2、在dubbo-provider.xml中暴露dubbo接口,代码段如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
                        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="provider-of-itmp-service" />

    <!-- 使用multicast广播注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="${zookeeper.addresses}" />

    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="${dubbo.port}" />

    <dubbo:provider timeout="${zookeeper.timeout}" filter="-exception" />

    <dubbo:service interface="my.demo.service.demo.test1" ref="test1" />

    <dubbo:service interface="my.demo.service.demo.test2" ref="test2" />

一般本地启动zookeeper的话上面代码中的配置为:

zookeeper.addresses=localhost:2181
dubbo.port=20880

3、配置dubbo-consumer.xml,向zookeeper注册接口

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
                        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <!-- enable autowire 向容器自动注册 -->
    <context:annotation-config />
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="consumer-of-itmp-service" />

    <!-- 使用multicast广播注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="${zookeeper.addresses}" />
    <dubbo:consumer cluster="failsafe" />
    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
    <dubbo:reference interface="my.demo.service.demo.test1" id="test1" />
    <dubbo:reference interface="my.demo.service.demo.test2" id="test2" />   

4、本地启动zookeeper并在Eclipse中查看
运行方法见步骤1.
Eclipse中查看方法:
从windows——>show view中打开zookeeper窗口

这里写图片描述

找不到的话安装插件 “Plug-in for ZooKeeper 3.2.2”

5、Eclipse中启动provider
provider工程右键——>Run as——>Run Configurations——>Java Application

这里写图片描述
创建成功后,右下角的Run变为可用,点击即可运行。

provider服务运行成功后,在zookeeper窗口中可以看到dubbo服务的provider:

扫描二维码关注公众号,回复: 5113179 查看本文章

这里写图片描述

6、Eclipse中启动consumer
consumer为web服务,所以直接在Eclipse中新建Tomcat,启动Tomcat成功后,zookeeper窗口的dubbo服务会出现consumer:
这里写图片描述

以上。
参考:
https://blog.csdn.net/antgan/article/details/54377043
http://www.cnblogs.com/RainAndWind/p/4668427.html
https://www.cnblogs.com/geekdc/p/9091040.html

猜你喜欢

转载自blog.csdn.net/eleanoryss/article/details/81334947