SpringBoot集成Dubbo、Zookeeper (IDEA版本)

11 篇文章 0 订阅

1、新建Springboot项目
在这里插入图片描述

2、去dubbo官网下载相应的jar包(dubbo-admin-masterhttps://github.com/apache/dubbo-admin/tree/master 以及相应的zookeeper jar包(apache-zookeeper-3.5.8-binhttps://downloads.apache.org/zookeeper/zookeeper-3.5.8/
在这里插入图片描述注意:dubbo-admin-master的用mvn打包生成jar包
mvn clean install -Dmaven.test.skip=true

3、打开相应的bin文件夹 双击命令脚本
在这里插入图片描述dubbo-admin-master\dubbo-admin\target目录下 打开命令行 cmd java
在这里插入图片描述

4、然后到 IDEA中 写服务商、消费方(新建方式以上已说明)
在这里插入图片描述
依赖:

 <!--dubbo zookeeper-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>
        <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>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.14</version>
            <!--排除slf4j-->
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

5、配置服务提供方的信息 以及消费者的信息
provider-server: application.properties


#服务名
spring.application.name = provider-server
 #应用服务 WEB 访问端口
server.port=8001
#服务名称
dubbo.application.name=provider-server
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#那些服务注册
dubbo.scan.base-packages=com.thunder.service

consumer-server: application.properties
#应用名称
spring.application.name=consumer-server
#应用服务 WEB 访问端口
server.port=8002
#消费者去拿服务 需要暴露自己名字
dubbo.application.name=consumer-server
#告诉消费者注册中心的地址  去此地址拿服务
dubbo.registry.address=zookeeper://127.0.0.1:2181

6、服务提供商的 服务代码(要实现 接口 用于JDK动态代理)

import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;

@Component //spring组件
@Service //dubbo service
public class TicketServiceImpl implements TicketService {
    @Override
    public String getTicket() {
        return "雷哥学JAVA";
    }
}

消费者:

import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Controller;

@Controller//spring 容器
public class UserService {

    //想要得到服务 去注册中心 拿服务
    @Reference //远程引用 pom坐标 新建与服务名 一样的 类、接口
    TicketService ticketService;

    public void buyTicket(){
        String ticket = ticketService.getTicket();
        System.out.println("在注册中心拿到:"+ticket);
    }

}

写一个与服务商 一样的接口类 用于调用

public interface TicketService {
    String getTicket();
}

7、系统测试(Springboot测试类)

@SpringBootTest
class ConsumerServerApplicationTests {

    @Autowired
    UserService userService;

    @Test
    void contextLoads() {
        userService.buyTicket();
    }

}

结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值