Dubbo使用Zooker注册服务

一、安装配置Zooker

1.下载Zooker

在apache mirros上下载Zooker :https://mirror.bit.edu.cn/apache/zookeeper/,下载后解压到指定目录

建议下载3.4.14版本,其他版本要下载后缀带bin的压缩包

2.安装配置本地Zooker

解压到指定目录后,进入conf文件夹,将里面的zoo_example.cfg文件重命名为zoo.cfg

Dubbo使用Zooker注册服务_第1张图片

 

进入bin目录,编辑zkServer.cmd文件,在zkServer.cmd最后行前加入pause,否则可能会看不到信息,接着双击打开即可运行本地Zookeeper注册服务,最后出现2181端口(默认端口)即运行成功

 

 

Dubbo使用Zooker注册服务_第2张图片

 

 

二、IDEA中使用Dubbo进行远程服务调用

1.项目模块介绍

这里有两个boot应用程序,分别用consumer和provider表示,provider向注册中心负责注册服务,它里面的服务是实现service接口中的方法,consumer负责消费,用于调用远程服务,除此之外,两者也可以分别实现自己应用中的服务,结构图如下所示:

Dubbo使用Zooker注册服务_第3张图片

 

2.编写外部服务接口

可以在demo下新建一个Module,命名为demo-service,专门负责写供另外应用程序使用的服务接口

demo->new->Module->Maven->Next->命名,在src的main中创建接口方法DemoService

Dubbo使用Zooker注册服务_第4张图片

 

3.编写并配置provider应用程序

1)新建provider的启动项

在demo下新建一个Module,命名为demo-dubbo-provider,和前面一样,这里在java下新建一个Boot的启动项

Dubbo使用Zooker注册服务_第5张图片

2)添加pom.xml依赖

为了使用实现demo-service模块中的方法,需要再pom.xml添加这个模块的依赖,添加依赖之后就可以实现接口了。其他的Zooker、Dubbo的依赖自己也要添加进去


    com.***.internet
    demo-service
    1.0.0-SNAPSHOT

...

3)zookeeper和dubbo配置

在resources下添加配置文件,在这里配置本地的zookeeper注册中心地址还有端口等一些信息

# Spring boot application
spring.application.name=boot-provider
server.port=9001
logging.level.root=INFO
management.security.enabled=false
​
#Dubbo Qos Config0
dubbo.application.qos-enable=false
# Base packages to scan Dubbo Component: @org.apache.dubbo.config.annotation.Service
dubbo.scan.base-packages=com.vivo
# Dubbo Application
## The default value of dubbo.application.name is ${spring.application.name}
## dubbo.application.name=${spring.application.name}
# Dubbo Protocol
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
# Dubbo Registry
dubbo.registry.address=zookeeper://127.0.0.1:2181

4)添加demo-service接口的实现类

使用dubbo的Service注解,对这个接口实现类进行服务注册

 

Dubbo使用Zooker注册服务_第6张图片

4.编写consumer消费者程序

1)编写consumer启动项

这里对model和web层进行分离,新建demo-web模块,在这里配置启动项,为consumer的入口

 

Dubbo使用Zooker注册服务_第7张图片

2)调用远程服务方法

在demo-consumer-dao中创建相应的controller文件,这里也需要将demo-service依赖添加到pom.xml中来,之后再对应controller中使用@Reference注解,用于调用远程服务方法,调用方式和其他本地服务一样。

Dubbo使用Zooker注册服务_第8张图片

 

5.启动项目,并测试结果

对两个应用程序provider和consumer,先启动provider应用,在接着启动consumer,在浏览器中输入本地地址,端口和相应的动作即可调用provider中的服务

Dubbo使用Zooker注册服务_第9张图片

 

你可能感兴趣的:(java,spring,boot,java)