欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot整合dubbo实现dubbo+zookeeper分布式

程序员文章站 2022-05-07 14:31:18
...

SpringBoot版本:2.2.1.RELEASE

1,使用docker安装zookeeper

使用docker命令下载zookeeper

docker pull zookeeper

运行zookeeper

docker run -d --name zk -p 2181:2181 {镜像ID}

2,服务提供者

创建SpringBoot工程,引入dubbo的starter依赖

		<!--dubbo-stater依赖-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

编写一个接口

package com.dufg.spring.spring_boot.server;
public interface IProductServer {
    public String shopping();
}

编写该接口的实现类,并用dubbo的@Service注解(若要注册服务就必须开启该注解)

package com.dufg.spring.spring_boot.server.impl;

import com.alibaba.dubbo.config.annotation.Service;
import com.dufg.spring.spring_boot.server.IProductServer;

@Service
public class ProductServer implements IProductServer {


    @Override
    public String shopping() {
        System.out.println("购买成功");
        return "购买成功";
    }
}

在SpringBoot主程序类中使用@EnableDubbo注解

@SpringBootApplication
@EnableDubbo
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3,服务消费者

创建SpringBoot工程,引入dubbo的starter依赖

		<!--dubbo-stater依赖-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>0.2.0</version>
        </dependency>

将服务提供者的接口包添加进工程中
SpringBoot整合dubbo实现dubbo+zookeeper分布式
调用方法:在类中注入该接口使用@Reference标注

@Reference
    private IProductServer productServer;

然后直接调用该接口的方法即可

public String shopping(){
    return productServer.shopping();
}

结果

调用成功
SpringBoot整合dubbo实现dubbo+zookeeper分布式