栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

springboot+dubbo+zookeeper

springboot+dubbo+zookeeper

一、下载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、测试类测试

@SpringBootTest
class ConsumerServerApplicationTests {

    @Autowired
    UserService userService;

    @Test
    public void contextLoads() {

        userService.bugTicket();

    }

}

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号