欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

springboot+dubbo+zookeeper

时间:2023-07-26
一、下载apache-zookeeper-3

1、下载地址:https://zookeeper.apache.org/releases.html
2、启动
找到bin文件下的zkServer.cmd,双击即可(保持运行)

二、下载dubbo管理页面(可有可无)

1、地址:https://github.com/apache/dubbo-admin/tree/master-0.2.0
2、解压,用idea打开下载相对应的依赖,然后打包
在dubbo-admin的target可找到打包好的jar包
3、命令行运行启动

打开命令行,切换到jar包所在路径,输入执行命令

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

4、访问路径

localhost:7001用户名:root密码:root

三、建立provider项目,提供接口

1、建立maven项目,勾选web依赖
2、引入dubbo和zookeeper依赖

org.apache.dubbo dubbo-spring-boot-starter 2.7.3 com.github.sgroschupf zkclient 0.1 org.apache.curator curator-framework 2.12.0 org.apache.curator curator-recipes 2.12.0 org.apache.zookeeper zookeeper 3.4.14 org.slf4j slf4j-log4j12

3、编写配置文件

server.port=8001#当前应用名字dubbo.application.name=provider-server#注册中心地址dubbo.registry.address=zookeeper://127.0.0.1:2181#扫描指定包下服务dubbo.scan.base-packages=nuc.ss.service

4、service层

public interface TicketService { String getTicket();}

5、实现类impl
这里必须使用dubbo的service,否则dubbo上查找不到该provider

//服务注册与发现@Service //可以被扫描到,在项目一启动就自动注册到注册中心@Component //使用Dubbo后尽量不要用Service注解public class TicketServiceImpl implements TicketService { @Override public String getTicket() { return "《dubbo+zookeeper测试,从服务端获取》"; }}

6、启动provider项目
刷新localhost:7001,可以看到服务已被注册进去

四、customer项目

1、建立maven项目,勾选web依赖
2、引入dubbo+zookeeper依赖

org.apache.dubbo dubbo-spring-boot-starter 2.7.3 com.github.sgroschupf zkclient 0.1 org.apache.curator curator-framework 2.12.0 org.apache.curator curator-recipes 2.12.0 org.apache.zookeeper zookeeper 3.4.14 org.slf4j slf4j-log4j12

3、编写配置文件application.properties

server.port=8002#当前应用名字dubbo.application.name=consumer-server#注册中心地址dubbo.registry.address=zookeeper://127.0.0.1:2181

4、构造一个与provider完全相同service(包括包路径命名

public interface TicketService { String getTicket();}

5、编写userService调用ticketService,注意使用指引注入

@Service //注入到容器中public class UserService { // 想拿到provider-server提供的票,要去注册中心拿到服务 @Reference //引用,Pom坐标,可以定义路径相同的接口名 TicketService ticketService; public void bugTicket(){ String ticket = ticketService.getTicket(); System.out.println("在注册中心买到"+ticket); }}

6、测试类测试

@SpringBootTestclass ConsumerServerApplicationTests { @Autowired UserService userService; @Test public void contextLoads() { userService.bugTicket(); }}

看到如下输出,即构造成功

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。