springboot dubbo zookeeper springboot+dubbo+zookeeper的简单实例详解

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

springboot dubbo zookeeper springboot+dubbo+zookeeper的简单实例详解

神奇的大洲   2021-10-27 我要评论
想了解springboot+dubbo+zookeeper的简单实例详解的相关内容吗,神奇的大洲在本文为您仔细讲解springboot dubbo zookeeper的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:springboot,dubbo,zookeeper,下面大家一起来学习吧。

在dubbo-admin-0.0.1-SNAPSHOT.jar的路径下启动dubbo,java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

请添加图片描述

dubbo-admin-0.0.1-SNAPSHOT.jar的包需要提前打好

启动zookeeper的zkServer.cmd和zkCli.cmd

需要的依赖

 <!-- 导入依赖:zookeeper + dubbo -->
        <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
        <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>
        <!--  上面两个都是zookeeper服务端的一个依赖-->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.14</version>
            <!--排除这个slf4j-log4j12-->
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

服务端和消费端都需要这些依赖

服务端

在服务端设置一个服务

在这里插入图片描述

@Component
@Service // 可以被扫描扫,在项目已启动就注册到注册中心  服务注册与发现
public class TickServiceImp implements TicketService {
    @Override
    public String getTick() {
        return "《今天是个好日子》";
    }
}

这里的@Service是dubbo下的用来吧服务注册到注册中心
@Component用来把类注入到容器中

application.yml配置如下

server:
  port: 8001

#服务应用名字
dubbo:
  application:
    name: provider-server
#注册中心地址
  registry:
    address: zookeeper://127.0.0.1:2181
#那些服务要被注册
  scan:
    base-packages: com.cfz.service

启动服务端,在zookeeper设置的端口http://localhost:7001下查看

在这里插入图片描述

消费端

首先导入所需依赖(同上文)

设置服务

在这里插入图片描述

这里的接口要和服务端的相同

Userservice类中如下

@Service //放到容器中
public class Userservice {

    //想拿到provider-server提供的票,需要去注册中心拿服务
    @Reference //引用,pom坐标,可以定义路径相同的接口名
    TicketService ticketService;

    public void buyTicket() {
        System.out.println("在注册中心拿到"+ticketService.getTick());
    }
}

application.yml配置如下

在这里插入图片描述

启动消费端

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们