安装zookeeper
zookeeper:注册中心,必须有。- 开源镜像下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/
- 解压到本地
- 打开
\zookeeper-3.4.14\bin目录中的zkServer.cmd,会出现闪退的现象 - 找到
zookeeper-3.4.14\conf目录中的zoo_scmple.cfg文件,复制一份,重命名为zoo.cfg - 再次打开
zkServer.cmd服务端,然后打开zkCli.cfg客户端,既可以连接上。
安装Dubbo
dubbo-admin:是一个监控管理后台,查看我们注册了哪些服务,哪些服务被消费了,可有可无。- 下载地址https://github.com/apache/dubbo-admin/tree/master
- 解压到本地,可以看到是个
maven项目。 - 从
cmd进入dubbo-admin-master目录下。 - 执行
maven命令:mvn clean package -Dmaven.test.skip=true,即可打包 - 在
dubbo-admin-master\dubbo-admin\target目录生成了jar包。 - 使用
dubbo之前,一定要先打开zookpeer服务端。在运行jar包。 - 运行之后,浏览器输入
localhost:7001访问,默认用户名和密码d都是root
SpringBoot整合
编写两个模块,一个提供者模块,一个消费者模块
提供者模块
- 先导入这五个依赖包
<!--dubbo启动器-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.3</version>
</dependency>
<!--zkclient-->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<!--日志会冲突-->
<!--引入zookeeper-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
<!--排除slf4j和log4j12-->
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
- 编写相关的服务类,并在这个类上加注解
@Service和@Component,注意:@service注解必须是要org.apache.dubbo.config.annotation.Service,而不是spring的注解。 - 在配置文件中编写相关信息
#服务应用的名字(模块名)
dubbo:
application:
name: provider-server
#注册中心的地址(zookeeper的主机地址和相应的端口)
registry:
address: zookeeper://127.0.0.1:2181
timeout: 4000
#哪些服务要被注册(服务类所在的包)
scan:
base-packages: com.daq.service
- 在启动类上加上
@EnableDubbo这个注解 - 打开
zkServer,并运行jar包,浏览器输入localhost:7001即可看到服务。
消费者模块
前提:zookeeper服务是开启的
- 添加依赖,如上所示
- 在配置中配置注册中心地址,配置自己的服务名,如:
# 消费者去哪里拿服务,需要暴露自己的名字
dubbo:
application:
name: consumer-server
# 注册中心的地址
registry:
address: zookeeper://127.0.0.1:2181
- 从远程注入服务
- 注意消费者的
service接口的包路径名要与提供者的包路径名完全相同。 - 在本地服务类上加上
@service注解,这个注解是spring的。
- 启动即可!!!
513

被折叠的 条评论
为什么被折叠?



