整合(一)dubbo+zookeeper+springboot整合

一、启动zookeeper,这里使用zookeeper单机模式,不用zookeeper集群

1、 解压修改zookeeper/conf里面的配置文件zoo_sample.cfg为zoo.cfg

2、windows环境下启动zookeeper服务端,运行zkServer.cmd

3、启动zookeeper客户端,运行zkCli.cmd,可以用 “ls /”命令查看哪些服务被注册到了zookeeper


二、启动dubbo-admin

 1、下载dubbo,这里使用老版本的,新版本使用方法后面讲https://github.com/zhangai1989/dubbo.git

  首先运行dubbo-admin,它是一个web应用,用来方便查看dubbo的相关状态信息


2、修改配置文件信息,打开WEB-INF中的dubbo.properties

 dubbo.registry.address :zookeeper地址

 dubbo.admin.root.password :root用户密码

 dubbo.admin.guest.password :guest用户密码


3、打包部署

  配置Project Structure



运行tomcat,然后访问地址,如下图所示则成功


三、在springboot项目中整合dubbo和zookeeper

 使用前面创建好的springboot项目,项目地址https://github.com/zhangai1989/sprintboot.git

1、引入dubbo和zookeeper相关的jar包依赖

 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.4.10</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
2、添加dubbo服务注册配置文件provider.xml

<?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:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <!-- 配置可参考 http://dubbo.io/User+Guide-zh.htm -->
    <!-- 服务提供方应用名,用于计算依赖关系 -->
    <dubbo:application name="dubbo-provider" owner="dubbo-provider"/>
    <!-- 定义 zookeeper 注册中心地址及协议 -->
    <dubbo:registry protocol="zookeeper" address="localhost:2181" client="zkclient"/>
    <!-- 定义 Dubbo 协议名称及使用的端口,dubbo 协议缺省端口为 20880,如果配置为 -1 或者没有配置 port,则会分配一个没有被占用的端口 -->
    <dubbo:protocol name="dubbo" port="-1"/>
    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.jz.springbootdemo.producer.TestService" ref="testService" timeout="10000"/>
    <!-- 和本地 bean 一样实现服务 -->
    <bean id="testService" class="com.jz.springbootdemo.producer.impl.TestServiceImpl" />
</beans>
3、创建需要暴露的接口类TestService、TestServiceImpl
 
package com.jz.springbootdemo.producer.impl;

import com.jz.springbootdemo.producer.TestService;

public class TestServiceImpl implements TestService {
    @Override
    public String sayHello(String name) {
        return "Hello " + name + "!";
    }
}
package com.jz.springbootdemo.producer;

public interface TestService {

    String sayHello(String name);

}
4、在SpringbootdemoApplication中添加将providers.xml添加到扫描中


5、运行tomcat、在zkServer中
 在zkclient中输入 ls / ; ls /dubbo查看zookeeper中注册成功的服务


在dubbo-admin中查看dubbo服务信息


结语:dubbo+zookeeper+springboot整合完成,对于dubbo实现RPC远程调用后面详讲。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值