springboot2+zookeeper+dubbo简单搭建
一、下载安装zookeeper
题主用的是mac,安装zookeeper参考了这位博主的博客: 点击这里查看zookeeper安装教程.
1.1下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper
1.2解压
tar zxvf zookeeper-3.4.14.tar.gz
看到如下目录
1.3进入conf目录,新建zoo.cfg,文件内容为
注意dataDir和datalogDir位置可以自行设置
1.4启动和停止
./bin/zkServer.sh start 启动
./bin/zkServer.sh stop 停止
注意文件敲击命令的文件层级,文件夹包含bin目录:
二、dubbo工程搭建
2.1创建两个maven-springboot工程,一个是服务生产者,一个是服务消费者(或者创建一个maven多模块工程也行)。
2.2添加pom依赖,分别是dubbo依赖和zookeeper客户端依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
2.3yml文件中添加duboo配置,当然dubbo配置很多,这里只简单介绍,详情可参考dubbo官网说明 dubbo官网地址.
2.3.1生产者配置如下:
dubbo:
protocol:
#服务提供方所暴露的端口号,多个服务提供方不可重复
port: 20890
#服务所使用的协议名称,本系统使用dubbo协议
name: dubbo
application:
#dubbo服务名称
name: provider-service
scan:
#扫描服务所在包路径
base-packages: com.base.server.service
registry:
#开发环境本地启动zk地址
address: zookeeper://127.0.0.1:2181
注意:base-packages包路径是生产者服务所在的包,如下图,这个BasexxxServiceImpl提供真正的业务逻辑,调用dao等等。
BasexxxServiceImpl使用的注解为@Service,这个是dubobo的注解,导入的包为:
import com.alibaba.dubbo.config.annotation.Service;
2.3.2消费者配置如下:
dubbo:
protocol:
#采用dubbo协议
name: dubbo
application:
#消费者名称
name: sweetstreet
scan:
#需要使用到提供者服务的包路径
base-packages: com.xxx.server.api
registry:
#注册中心地址
address: zookeeper://127.0.0.1:2181
注意:base-packages包扫描的是消费服务的controller所在的包,如下图:
在controller中使用远程的service方式为:
注入使用的注解为@Reference。
2.4启动类添加注解@EnableDubbo // 开启Dubbo
三、运行服务
3.1本地启动zookeeper;
3.2启动生产者(先启动它)
3.3启动消费者(再启动它)
四、测试调用
浏览器输入请求地址和参数,返回为,调用成功
四、总结
搭建dubbo步骤为:
1、下载、安装、启动zookeeper
2、创建maven项目,分别创建生产者服务和消费者服务
3、加入dubbo和zookeeper客户端依赖jar包
4、修改yml配置文件
5、编写生产者service和消费者service,生产者service注解要用到dubbo的@Service;消费者消费service需要用到dubbo的@Reference注解
6、编写完成依次启动生产者服务,消费者服务
7、完成测试