一、安装配置Zooker

1.下载Zooker

在apache mirros上下载Zooker :https://mirror.bit.edu.cn/apache/zookeeper/,下载后解压到指定目录

建议下载3.4.14版本,其他版本要下载后缀带bin的压缩包

2.安装配置本地Zooker

解压到指定目录后,进入conf文件夹,将里面的zoo_example.cfg文件重命名为zoo.cfg

进入bin目录,编辑zkServer.cmd文件,在zkServer.cmd最后行前加入pause,否则可能会看不到信息,接着双击打开即可运行本地Zookeeper注册服务,最后出现2181端口(默认端口)即运行成功

二、IDEA中使用Dubbo进行远程服务调用

1.项目模块介绍

这里有两个boot应用程序,分别用consumer和provider表示,provider向注册中心负责注册服务,它里面的服务是实现service接口中的方法,consumer负责消费,用于调用远程服务,除此之外,两者也可以分别实现自己应用中的服务,结构图如下所示:

2.编写外部服务接口

可以在demo下新建一个Module,命名为demo-service,专门负责写供另外应用程序使用的服务接口

demo->new->Module->Maven->Next->命名,在src的main中创建接口方法DemoService

3.编写并配置provider应用程序

1)新建provider的启动项

在demo下新建一个Module,命名为demo-dubbo-provider,和前面一样,这里在java下新建一个Boot的启动项

2)zookeeper和dubbo配置

在resources下添加配置文件,在这里配置本地的zookeeper注册中心地址还有端口等一些信息

# Spring boot application
spring.application.name=boot-provider
server.port=9001
logging.level.root=INFO
management.security.enabled=false
​
#Dubbo Qos Config0
dubbo.application.qos-enable=false
# Base packages to scan Dubbo Component: @org.apache.dubbo.config.annotation.Service
dubbo.scan.base-packages=com.vivo
# Dubbo Application
## The default value of dubbo.application.name is ${spring.application.name}
## dubbo.application.name=${spring.application.name}
# Dubbo Protocol
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
# Dubbo Registry
dubbo.registry.address=zookeeper://127.0.0.1:2181

3)添加demo-service接口的实现类

使用dubbo的Service注解,对这个接口实现类进行服务注册

4)打包成本地jar包

Maven->项目名->install,打包成本地jar包

4.编写consumer消费者程序

1)编写consumer启动项

这里对model和web层进行分离,新建demo-web模块,在这里配置启动项,为consumer的入口

2)调用远程服务方法

在demo-consumer-dao中创建相应的controller文件,需要将调用服务的pom.xml中导入Provider的service所在包,这里也需要将demo-service依赖添加到pom.xml中来,如下所示:

<dependency><groupId>com.***.internet</groupId><artifactId>demo-service</artifactId><version>1.0.0-SNAPSHOT</version>
</dependency>
...

之后再对应controller中使用@Reference注解,用于调用远程服务方法,调用方式和其他本地服务一样。

5.启动项目,并测试结果

对两个应用程序provider和consumer,先启动provider应用,在接着启动consumer,在浏览器中输入本地地址,端口和相应的动作即可调用provider中的服务

Dubbo使用Zooker注册服务相关推荐

  1. dubbo注册服务IP解析异常及IP解析源码分析

    https://www.cnblogs.com/leo-li-3046/p/5702479.html 在使用dubbo注册服务时会遇到IP解析错误导致无法正常访问. 比如: 本机设置的IP为172.1 ...

  2. dubbo注册服务和消费服务---入门篇

    本文介绍如何用dubbo+zk来实现一个注册服务 + 消费服务的入门小demo 需要环境:zk服务器 两个maven项目,一个负责提供服务,一个负责消费服务. dubbo-service 服务端 po ...

  3. Dubbo系列讲解之服务注册【3万字长文分享】

    服务注册的几个步骤   对于RPC框架的服务注册,一般包含了如下的流程: 加载服务提供者,可能是通过xml配置的,也可能是通过扫描注解的 实例化服务提供者,并以服务接口作为key,实现类作为value ...

  4. dubbo k8s 服务发现_工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

    作者 | 张远征来源|阿里巴巴云原生公众号 导读:Dubbo 作为分布式微服务框架,众多公司在实践中基于 Dubbo 进行分布式系统架构.重启开源后,我们不仅看到 Dubbo 3.0 最新的 Road ...

  5. Dubbo 源码分析 - 服务引用

    1. 简介 在上一篇文章中,我详细的分析了服务导出的原理.本篇文章我们趁热打铁,继续分析服务引用的原理.在 Dubbo 中,我们可以通过两种方式引用远程服务.第一种是使用服务直联的方式引用服务,第二种 ...

  6. Dubbo 源码分析 - 服务导出

    1.服务导出过程 本篇文章,我们来研究一下 Dubbo 导出服务的过程.Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑.整个逻辑大致可 ...

  7. Dubbo支持的注册中心

    刚刚我们去讲了Dubbo的运行原理,以及他的架构图,我们接下来来看一下这一步Register,注册中心我们不知道到底是长什么样的,但是你们应该知道一件事情,当我去启动容器的时候,他干什么,是会去注册, ...

  8. springboot整合dubbo\zookeeper做注册中心

    springboot整合dubbo发布服务,zookeeper做注册中心.前期的安装zookeeper以及启动zookeeper集群就不说了. dubbo-admin-2.5.4.war:dubbo服 ...

  9. linux 查看zookeeper目录,查看zookeeper注册中心是否有注册服务

    查看zookeeper注册中心是否有注册服务可以在服务器上看,也可以在dubboadmin看哦~ 1.在服务器上看: 1)查找zookeeper的目录: find / -name zookeeper ...

最新文章

  1. leetcode C++ 48. 旋转图像 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。
  2. 【转】浅析task_struct结构体
  3. node python复用代码_python-代码复用(函数、lambda、递归、PyInstaller库)
  4. plc 上位机编译算法_西门子PLC的开放式TCP通信
  5. 游戏开发物语方案点数分配_直播开发平台解决方案——如何开发游戏直播平台...
  6. php基础 简书,PHP的基础(一)
  7. matebook14支持触摸屏吗_matebook 14有触屏吗
  8. 分位数回归的R语言实现
  9. ZOJ-2364 Data Transmission 分层图阻塞流 Dinic+贪心预流
  10. 如何删除MySQL服务
  11. 离散数学计算机科学与技术答案,湘潭大学计算机科学与技术刘任任版离散数学课后习题答案---第二学期--图论与组合数学...
  12. 学海无涯!马士兵的Java教程
  13. linux中查看resin进程,resin安装
  14. 【论文】360-aware saliency estimation with conventional image saliency predictors阅读笔记
  15. 为什么navicat总是闪退问题解决
  16. java web之javascript(js)解析
  17. springboot集成配置swaggerUI
  18. 【嵌入式】51单片机+1602+dht11显示温湿度
  19. tooth的用法_tooth的用法总结大全
  20. 十大热门的大数据技术

热门文章

  1. mysql 布尔型盲注,SQL注入之布尔型注入(MySQL)
  2. Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据
  3. 二十九、Java的异常处理
  4. 机器学习中的逻辑回归
  5. ChildTuning:试试把Dropout加到梯度上去?
  6. 清华大学刘知远教授新作,图神经网络最佳解锁方式 | 送书福利
  7. 层次分解位置编码,让BERT可以处理超长文本
  8. pytorch基本数学运算:加法 减法 乘法 除法 指数 对数 绝对值
  9. 微服务架构与Spring Cloud Alibaba
  10. poj 1664 放苹果 DPDFS