laomao , Life is like a play

SpringBoot整合Dubbo+Zookeeper Demo

默认分类 0 评

Zookeeper环境搭建

zookeeper下载地址http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/下载解压

然后将conf目录下的zoo_sample.cfg复制一份改名为zoo.cfg,文件中有几个重要的位置需要注意

dataDir=./   #临时数据存储的目录(可写相对路径)
clientPort=2181   #zookeeper的端口号

修改完成后启动zookeeper 我是mac sudo ./zkServer start windows直接双击启动就可以了

dubbo-admin安装

dubbo-admin就是一个可视化的管理dubbo服务监控程序,不安装也不影响,只是有了他开发更方便查看状况
1、下载dubbo-admin
下载地址:https://github.com/apache/dubbo-admin/tree/master
2、解压进入目录
修改dubbo-adminsrcmainresources application.properties 指定zookeeper地址

server.port=7001
spring.velocity.cache=false
spring.velocity.charset=UTF-8
spring.velocity.layout-url=/templates/default.vm
spring.messages.fallback-to-system-locale=false
spring.messages.basename=i18n/message
spring.root.password=root
spring.guest.password=guest

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

3、在项目目录下打包dubbo-admin

mvn clean package -Dmaven.test.skip=true 

第一次打包可能进度比较慢,耐心等待即可,出现BULLD SUCCESS 即成功

4、执行dubbo-admin/target下的dubbo-admin-0.0.1-SNAPSHOT.jar

java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

执行成功后,访问 http://localhost:7001/ ,默认账号密码是 root

dubbo+zk 环境搭建

首先检查zookeeper是否已经启动
然后创建服务提供者,nzblog-provider ,删除 src目录 以及没用的文件
新建Module provide-app
引入pom依赖(dubbo依赖)

<!--dubbo+zookeeper-->
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
<dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.3</version>
</dependency>
<!--zkClient-->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.10</version>
    <!--日志会冲突排除-->
    <exclusions>
        <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
            <artifactId>slf4j-api</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>4.0.1</version>
</dependency>

配置Properties文件

#消费者去哪里拿服务
dubbo.application.name=provider-app
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=cn.nzblog.providerapp.service
dubbo.protocol.port=20881

新建Module provider-server-api ,删除启动类以及TEST目录的启动类,删除pom文件中的依赖,删除build插件,不然会报错,这个module用于提供接口(编写接口service)
nzblog-provider 模块pom文件引入 provider-server-api
nzblog-provider service层的service实现类实现 provider-server-api 中所编写的接口

注意:server实现类的@server注解是dubbo的注解

到此dubbo提供者环境搭建完成,消费者搭建和提供者搭建如出一辙只是在properties中少配置一个dubbo.scan.base-packages其他一致

LoadingCache缓存的使用
发表评论
撰写评论