• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

springboot zookeeper dubbo demo

武飞扬头像
curl v
帮助1

学习目标:

提示:这里可以添加学习目标

例如:

  • springboot 以zookeeper为注册中心,集成dubbo

学习内容:

提示:这里可以添加要学的内容

例如:

  1. zookeeper环境搭建
  2. dubbo admin 部署
  3. 注册服务到zookeeper,再dubbo admin上能看到
  4. 问题总结

学习产出:

提示:这里统计学习计划的总量

例如:

  • 直接上代码

1.生产者(服务提供者)

1.1 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dubbo.version>2.7.3</dubbo.version>
<zkclient.version>0.10</zkclient.version>
<curator.version>2.13.0</curator.version>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>${zookeeper.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>${dubbo.version}</version>
    </dependency>
    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>${curator.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>
学新通

1.2 application.yml

server:
  port: 10202
dubbo:
  application:
    name: provier-server
  registry:
    address: zookeeper://注册中心地址:端口
  protocol:
    name: dubbo
    port: 28081

1.3 启动类

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

1.4 需要暴露的接口

public interface TickApi {
    String getTick();
}

1.5 接口实现

@Component
@Service(version="1.0.0")//dubbo中的注解
public class TickApiService implements TickApi {
    @Autowired
    private TickService tickService;

    @Override
    public String getTick() {
        return tickService.getTick();
    }
}
@Service//spring注解
public class TickService {
    public String getTick() {
        return "tick" UUID.randomUUID().toString().replace("-","");
    }

}

启动工程,再dubbo中可以看到

学新通

 2.消费者

2.1 pom.xml 文件同上

2.2 application.yml

server:
  port: 10203
dubbo:
  application:
    name: consumer-server
  registry:
    address: zookeeper://101.43.49.178:21810
  protocol:
    name: dubbo
    port: 28080

2.3 启动了同上

2.4 消费服务

@RestController
@RequestMapping
public class UserController {
   //注解为dubbo提供
   @Reference(version = "1.0.0")
    private TickApi tickApi;
    @GetMapping("tick")
    public String getTick(){
        return tickApi.getTick();
    }
}

2.5 启动服务,能再dubbo admin中查看

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggfhhc
系列文章
更多 icon
同类精品
更多 icon
继续加载