当前位置: 首页 > news >正文

Dubbo和Zookeeper集成分布式系统快速入门

文件结构 

代码部分

1、新建provider-server导入pom依赖

<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><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><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

2、TicketService

package com.guo.service;public interface TicketService {public  String getTicket();
}

3、TicketServiceImpl

package com.guo.service;import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;//服务注册与发现@Service  //可以被扫描,启动后自动注册到注册中心
@Component
public class TicketServiceImpl implements TicketService{@Overridepublic String getTicket() {return "郭俊";}
}

4、application.properties

server.port=8001dubbo.application.name=provider-serverdubbo.registry.address=zookeeper://127.0.0.1:2181dubbo.scan.base-packages=com.guo.service

 5、新建consumer-server导入pom依赖

<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><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><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

6、TicketService

package com.guo.service;public interface TicketService {public  String getTicket();
}

7、UserService

 8、application.properties

server.port=8002dubbo.application.name=consumer-serverdubbo.registry.address=zookeeper://127.0.0.1:2181

 测试部分

1、启动zookeeper服务

 2、启动provider,连接成功

 3、编写测试类

@SpringBootTest
class ConsumerServerApplicationTests {@AutowiredUserService userService;@Testvoid contextLoads() {userService.buyTicket();}}

测试结果 

 成功在注册中心拿到,测试成功

http://www.lryc.cn/news/4240.html

相关文章:

  • 大数据工具Maxwell的使用
  • freesurfer如何将组模板投影到个体空间——如投影 Schaefer2018 到个体空间
  • Matlab傅里叶谱方法求解二维波动方程
  • 【深度学习】卷积神经网络
  • 【C++】六个默认成员函数——取地址重载,const成员函数
  • Win11浏览器无法上网,秒杀网上99.9%教程—亲测完胜
  • Vulkan Graphics pipeline Dynamic State(图形管线之动态状态)
  • CSP-《I‘m stuck!》-感悟
  • [实践篇]13.19 Qnx进程管理slm学习笔记(二)
  • (免费分享)基于 SpringBoot 的高校宿舍管理系统带论文
  • 运筹系列78:cbc使用介绍
  • RocketMQ底层源码解析——事务消息的实现
  • 学习802.11之MAC帧格式(一篇就够!)
  • 使用阿里云IoT Studio建立物模型可视化界面
  • HBase 复习 ---- chapter07
  • 跟我一起写Makefile--个人总结
  • 设计模式之为什么要学好设计模式
  • 大数据时代的小数据神器 - asqlcell
  • 【呕心沥血】整理全栈自动化测试技术(三):如何编写技术方案
  • 67. 二进制求和
  • 1555数列极差(队列 优先队列 )
  • 代码随想录算法训练营第二十七天 | 93.复原IP地址,78.子集,90.子集II
  • jvm类加载器
  • Rust学习入门--【7】Rust 数据类型
  • 阅读MySQL必知必会,查缺补漏
  • MySQL数据库10——多表连接查询
  • 华为OD机试 - 括号检查(Python)| 真题含思路
  • 安全渗透测试中的一款免费开源的超级关键词URL采集工具
  • 数据资产管理实践白皮书(6.0版)解读
  • c/c++开发,无可避免的函数指针使用案例