dubbo+zookeeper idea创建一个简单地分布式项目

1. 准备

官网下载zookeeper 地址: zookeeper
配置环境变量
先新建变量:
在这里插入图片描述
然后添加path:%ZOOKEEPER_HOME%\bin
启动zookeeper服务。如果zookeeper服务打开闪退,可以打开zookeeper路径中conf,拷贝里面的zoo_sample.cfg 并改名为zoo.cfg.即可打开服务。

2. idea创建项目

可以先创建一个空工程在空工程中创建提供者、消费者、接口工程模块

  1. 先创建接口工程:普通的maven工程即可
  2. 再创建一个提供者:使用web项目就可以创建一个springboot项目
  3. 再创建一个消费者:也是一个web项目可以创建一个springboot项目

接口工程:存放实体bean和业务接口
服务提供者:业务接口的实现类并将服务暴露且注册到注册中心,调用数据持久层。添加依赖(dubbo,注册中心,接口工程)。配置服务提供者核心配置文件
服务消费者:处理浏览器客户端发送的请求,从注册中心调用服务提供者所提供的服务。添加依赖(dubbo,注册中心,接口工程)。配置服务消费者核心配置文件

3. 添加依赖

先在提供者项目的pom中添加依赖:

<!--dubbo依赖-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.8</version>
        </dependency>


        <!--注册中心 zookeeper-->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.13.0</version>
        </dependency>

        <!--接口工程  自己刚刚创建的接口工程-->
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

再在消费者的pom中添加依赖

<dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.8</version>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.13.0</version>
        </dependency>


        <!--注册中心 zookeeper-->
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.10</version>
        </dependency>


        <dependency>
            <groupId>com.example</groupId>
            <artifactId>interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

4. 配置核心文件

配置提供者的核心文件
在这里插入图片描述

配置消费者核心文件
在这里插入图片描述

server.port是当前部分工程内嵌tomcat的端口号
dubbo.applcation.name:是该部分工程向外暴露的名称
server.servlet.context-path:是当前上下文路径
dubbo.registry.address:dubbo的注册地址,即zookeeper的地址

5. 编写方法接口

  1. 可以现在接口工程中创建一个接口:
    在这里插入图片描述
  2. 在生产者中实现这个接口在这里插入图片描述
    这里@Service是dubbo包提供的注解
  3. 再在消费者中调用这些方法在这里插入图片描述
    这里的@Reference时dubbo包提供的注解
    接口工程主要任务是提供方法接口,提供者主要任务是实现这些接口,消费者主要是处理请求调用这些接口。相当于MVC模式的各个层关系,消费者相当于控制器层,生产者和接口工程相当于model层。zookeeper服务中注册有生产者和消费者。

6.测试

启动zookeeper服务
再先启动服务提供者
最后启动服务消费者
访问消费者地址映射在这里插入图片描述
7. 可以再dubbo的可视化界面查看注册的接口。管理界面可以再Gitee中拉去:https://gitee.com/difcipo/dubbo-admin.git ,按照README.txt中步骤就可以完成打包,然后登录即可就可以查看注册的服务。在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值