文章目录

  • 1. dubbo 环境安装
    • 1.1 Windows下zookeeper安装使用
    • 1.2 Windos下安装dubbo-admin管理控制台
  • 2. springboot的配置
    • 2.1 创建两个modul,分别是provider和consumer,如下(可以先创建Empty项目,再创建两个modul,因为只是简单测试,只需勾选web模块就行)
    • 2.2 provider的配置
    • 2.3 创建需要提供服务的包
      • 2.3.1 TickService接口代码
      • 2.3.2 TickServiceImpl实现类代码
      • 2.3.3 启动类加注解
    • 2.4 配置文件
    • 2.5 consumer配置
    • 2.6 配置consumer的配置文件
    • 2.7 创建个测试类
  • 3 测试过程
    • 3.1 打开zookeeper
    • 3.2 打开dubbo监控中心
    • 3.3 启动provider
    • 3.4 启动consumer
    • 3.5 测试结果


服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

1. dubbo 环境安装

1.1 Windows下zookeeper安装使用

  1. 下载zookeeper 链接
  2. 解压zookeeper
  3. 运行zkServer.cmd ,初次运行会报错,没有zoo.cfg配置文件
  4. 修改zoo.cfg配置文件
  5. 将conf下的zoo_sample.cfg复制一份改名为zoo.cfg即可。
    注意几个重要位置:
    dataDir=./ 临时数据存储的目录(可写相对路径)
    clientPort=2181 zookeeper的端口号
    修改完成后再次启动zookeeper
  6. 使用zkCli.cmd测试
    ls /:列出zookeeper根下保存的所有节点
    create –e /atguigu 123:创建一个atguigu节点,值为123
    get /atguigu:获取/atguigu节点的值

1.2 Windos下安装dubbo-admin管理控制台

  1. 下载dubbo-admin 链接
  2. 进入目录,修改dubbo-admin
  3. 配置修改 src\main\resources\application.properties 指定zookeeper地址
  4. 打包dubbo-admin
 mvn clean package -Dmaven.test.skip=true
  1. 运行dubbo-admin
java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

2. springboot的配置

2.1 创建两个modul,分别是provider和consumer,如下(可以先创建Empty项目,再创建两个modul,因为只是简单测试,只需勾选web模块就行)

2.2 provider的配置

<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>
<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>2.7.12</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><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion></exclusions>
</dependency>

2.3 创建需要提供服务的包

2.3.1 TickService接口代码

package com.muluo.service;/*** @author Muluo* @create 2022-04-06 16:52*/
public interface TickService {String printInfo();
}

2.3.2 TickServiceImpl实现类代码

package com.muluo.service;import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.stereotype.Component;/*** @author Muluo* @create 2022-04-06 16:52*/
@DubboService
@Component
public class TickServiceImpl implements TickService {@Overridepublic String printInfo() {return "Hello World";}
}

2.3.3 启动类加注解

package com.muluo;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@EnableDubbo(scanBasePackages = {"com.muluo.service"})
@SpringBootApplication
public class ProviderApplication {public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);}}

2.4 配置文件

server.port=9090
dubbo.application.name=provider-server
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.scan.base-packages=com.muluo.service
#dubbo.protocol.port=2022

2.5 consumer配置

  1. 导入依赖(与provider导入的依赖一样)
  2. 创建相应的包

2.6 配置consumer的配置文件

server.port=9091
#服务的名称
dubbo.application.name=consume-server
#服务注册地址
dubbo.registry.address=zookeeper://127.0.0.1:2181

2.7 创建个测试类

@Component
public class UserService {@DubboReference//引用provider提供的服务TickService tickService;public void info(){System.out.println(tickService.printInfo());}}

3 测试过程

3.1 打开zookeeper

3.2 打开dubbo监控中心

3.3 启动provider

3.4 启动consumer

3.5 测试结果


Springboot 整合dubbo、zookeeper相关推荐

  1. SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统

    QUESTIONl:SpringBoot整合Dubbo+Zookeeper进行分布式搭建系统? ANSWER: 一:创建项目模块 1.1.创建一个Empty Project 名称:Dubbo 1.2. ...

  2. 【SpringBoot】12.SpringBoot整合Dubbo+Zookeeper

    1. 准 备 1.1 Dubbo 简介 Apache Dubbo 是一款高性能.轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用.智能容错和 负载均衡.以及服务自动注 ...

  3. Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔 ...

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

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

  5. Springboot 整合 Dubbo/ZooKeeper你不知道的那点事,大神必修课

    "看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一想,都没有什么大不了的.这能帮助自己在遇到挫折时稳定心态,想得更开." – <腾讯 ...

  6. SpringBoot整合Dubbo Zookeeper

    1.环境准备 (1)软件下载 链接:https://pan.baidu.com/s/1z8ehuDRX7A85jj6AyMA-rg 提取码:hs3s (2)软件启动 cd ~/software/zoo ...

  7. 【SpringBoot整合Dubbo和Zookeeper】

    本笔记内容为狂神说SpringBoot集成Dubbo和Zookeeper部分 目录 一.Dubbo dubbo基本概念 调用关系说明 二.Dubbo环境搭建 三.Window下安装zookeeper ...

  8. springboot整合dubbo时连接zookeeper——天坑

    本文主要针对使用springboot整合dubbo框架时使用zookeeper作为注册中心,在服务启动连接zookeeper产生的问题做一个详细的讲解. 主要针对两个异常 (1)java.lang.I ...

  9. spring boot 整合Dubbo/Zookeeper

    spring boot 整合Dubbo/Zookeeper 只是一个简单的整合demo,只做思路分析叙述,具体功能不做描述. 一.技术介绍 •ZooKeeper ZooKeeper 是一个分布式的,开 ...

  10. 解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer

    解决springboot整合dubbo中No provider available from registry 127.0.0.1:2181 for service x.x.x on consumer ...

最新文章

  1. Oracle执行计划相关(待补充)
  2. Tensorflow【实战Google深度学习框架】全连接神经网络以及可视化
  3. 学习笔记之数据可视化(二)—— 页面布局(下)
  4. python3 在线工具_Curl转python在线工具
  5. 线性回归(三)---岭回归
  6. Mybatis 系列使用记录
  7. C#的变迁史 - C# 4.0 之线程安全集合篇
  8. 【转】C#操作sqlServer数据库
  9. 三星 9810 android 9,【极光ROM】-【三星NOTE9 N960X-9810】-【V22.0 Android-Q-TK1】
  10. OverFeat笔记
  11. 基于Struts2的网上书城(仿当当网)系统
  12. HackingLab 脚本关
  13. 软件安全技术(概述、堆栈漏洞)总结
  14. Win10环境下安装pytho、pip与Robot Framework
  15. 本题目要求读入2个整数A和B,然后输出它们的和
  16. 网爆B站面试官在北邮校招时,炫耀身价过亿资产、贬低北邮应试者:你们太浮躁,眼界太窄
  17. Vue生命周期,mounted,destory,beforedestory,updated,
  18. 解决国内手机安装Google Play打开闪退问题
  19. 【PM】【进度】:把握项目节奏的方法
  20. 基于 C++ 和 Python 的 OpenCV 环境搭建

热门文章

  1. 面试 以及面试中对公司更好的了解
  2. vi 放弃更改退出 保存更改退出。
  3. iOS使用UICollectionView只允许向左方向滑动,不允许向右方向滑动。
  4. 机器学习从入门到创业手记-1.4 难以理解的数学知识
  5. 汉字如何应用在平面设计中
  6. grub引导安装win10
  7. MacOS Big Sur Beta 测评|使用体验|有哪些BUG?|如何安装?|实际体验如何?|WWDC2020
  8. 解决:win10下修改mac地址的方法
  9. 怎么网络同步计算机的本地时间,VBA实现本地计算机时间与网服务器时间的同步...
  10. open cv平面对象检测及翘曲图像校正-基于FLANN的特征检测和透视变换