zookeeper+springboot+dubbo简单实现
第一步:在虚拟机中搭建zookeeper。
第二步:本地创建3个maven工程,分别为wxh-dubbo-api(对外暴露的接口),wxh-dubbo-provider(服务提供者,接口的具体实现),wxh-dubbo-consumer(服务的消费方)
//如下工程的类都是在包“com.test.wxh”下创建的
第三步:在wxh-dubbo-api写一个简单的对外暴露的接口
public interface IUserService {
public void getName(String name) ;
}
第四步:① 在wxh-dubbo-provider的pom文件的依赖如下
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>1.16.14</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.test.wxh</groupId>
<artifactId>wxh-dubbo-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
②,添加一个类实现上述的接口
@Service
@Component
public class UserService implements IUserService {
@Override
public void getName(String name) {
System.out.println("HELLO" + name);
}}
**注意此处的service是com.alibaba.dubbo.config.annotation.Service包的**
③,写一个启动类
@SpringBootApplication(scanBasePackages = { "com.test"})//此处写自己工程的包路径
public class Application {
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setWebEnvironment(true);
springApplication.run(args);
System.out.println("启动成功 ");
}}
④,配置一个yml文件
⑤接下来可以运行步骤③的类,这个时候查看zookeeper会发现注册了一个。
如何查看zookeeper上注册了哪些服务
1、进入到zookeeper的bin目录,执行 sh zkCli.sh -server 虚拟机的地址:2181
2、执行ls /dubbo
会发现列表中有一个自己的工程 com.test.wxh.service.IUserService
3、执行ls /dubbo/com.test.wxh.service.IUserService/providers
4,执行ls /dubbo/com.test.wxh.service.IUserService/consumers(在还没有进行第五步的时候此处是一个空的列表,当启动了consumer工程后此处如下图)
第五步:配置consumer工程的pom
①、
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
<version>1.16.14</version>
</dependency>
<dependency>
<groupId>com.test.wxh</groupId>
<artifactId>wxh-dubbo-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
②、yml文件同provider工程
③、写具体的consumer类
@Component
public class ConsumerTest {
@Reference// 注意此处是dubbo的
private IUserService userService;
public void name() {
userService.getName("jane");
}
}
④、写启动类
@SpringBootApplication(scanBasePackages = { "com.test" })
public class Application {
@Autowired
private ConsumerTest consumerTest;
public static void main(String[] args) {
SpringApplication springApplication = new SpringApplication(Application.class);
springApplication.setWebEnvironment(true);
springApplication.run(args);
System.out.println("启动成功-consumer ");
}
@PostConstruct
public void r() {
consumerTest.name();
}
⑤。启动工程之后可以看到provider工程会输出一句话“HELLOjane”;
zookeeper+springboot+dubbo简单实现的更多相关文章
- springboot+dubbo简单分布式RPC调用demo
使用springboot+dubbo搭建RPC入门案例 本文背景简述: 最近在学习公司的一套RPC框架,初步接触的时候感觉挺复杂的.但是知道其原理肯定是和dubbo很相似的,毕竟都是RPC框架嘛,只是 ...
- dubbo+zookeeper+springboot简单示例
目录 dubbo+zookeeper+springboot简单示例 zookeeper安装使用 api子模块 生产者producer 消费者consumer @(目录) dubbo+zookeeper ...
- SpringBoot + Dubbo + zookeeper 搭建简单分布式服务
SpringBoot + Dubbo + zookeeper 搭建简单分布式服务 详细操作及源码见: https://github.com/BillyYangOne/dubbo-springboot
- 带着新人学springboot的应用11(springboot+Dubbo+Zookeeper 上)
这次说个在大型项目比较常见的东西,就是分布式,分布式到底是个什么东西呢?概念太大,不好说,就像刚学javaee的人问你,什么是web啊,什么是spring啊等等,你可能觉得,这个东西我好像知道,但是用 ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(二)
上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(一)
这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...
- 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务
来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...
- springboot+dubbo+zookeeper+mybatis
参考地址:https://www.cnblogs.com/gaopengfirst/p/9555240.html 首先创建一个maven项目: 再在该父项目中创建3个module,分别是:provid ...
- 使用 SpringBoot+Dubbo 搭建一个简单分布式服务
实战之前,先来看几个重要的概念 开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo.RPC.分布式.由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以 ...
随机推荐
- 浅析java垃圾回收机制
什么是java程序中的垃圾?什么这些垃圾又是怎样被回收的?为什么会被回收?不进行回收又会怎样?这些问题都是我们要在这篇博客中要解决的问题! 大家都知道,在c语言中,作为程序员,必须得考虑到去怎样回收已 ...
- 【SQL server初级】数据库性能优化一:数据库自身优化(大数据量)
数据库优化包含以下三部分,数据库自身的优化,数据库表优化,程序操作优化.此文为第一部分 数据库性能优化一:数据库自身优化 优化①:增加次数据文件,设置文件自动增长(粗略数据分区) 1.1:增加次数据文 ...
- 【福利】离散&C++&硬件一笔记合集
离散 C++ 硬件
- 两小无猜的爱恨情仇--java =+和+=揭秘
故事背景 当一个人问另一个人“敢不敢”的时候,另一个人必须说“敢”,这就是游戏的规则.小男孩朱利安和小女孩苏菲的相遇即开始于这样一场孩童的闹剧,一个精美的铁盒子就是他们游戏的见证.说脏话,扰乱课堂,在 ...
- RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?
目录 RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的? 前言 项目结构 rocketmq-client 模块 DefaultMQProducerTest Roc ...
- Java 学习笔记之 线程sleep方法
线程sleep方法: 单主线程使用sleep: Main线程差了2000毫秒. public class MainSleepThread extends Thread{ @Override publi ...
- (八十四)c#Winform自定义控件-导航菜单(类Office菜单)
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- PHP高效产生m个n范围内的不重复随机数(m<=n)
该算法非常巧妙的取随机数的位置(数组的下标),替代取随机数本身,每次取到一个随机数之后,就将其在取值范围中排除,下一次仅会在剩下的数字中取,一次遍历就可以完成随机数的选取,效率相当高. functio ...
- 报错com.neenbedankt.android-apt not found如何解决
apply plugin: 'com.neenbedankt.android-apt' 在moudle中build.gradle文件内有应用此插件,编译时报错 检查Project中build.grad ...
- Node.js入门教程 第六篇 (连接使用MySql)
连接使用MySql 安装MySql模块: npm install mysql 创建连接: const mysql = require('mysql') // 连接 mysql 服务器 const co ...