window.cnblogsConfig = { blogUser: 'MoYu', blogAvatar: 'https://gitee.com/MoYu-zc/picgo/raw/master/img/20210213094450.jpg', blogStartDate: '2020-02-09', webpageTitleOnblur: '(o゚v゚)ノ Hi,Back', webpageTitleOnblurTimeOut: 500, webpageTitleFocus: '(*´∇`*) 欢迎回来!', webpageTitleFocusTimeOut: 1000, webpageIcon: "https://gitee.com/MoYu-zc/picgo/raw/master/img/20210213094450.jpg", enable: true, // 是否开启日/夜间模式切换按钮 auto: { // 自动切换相关配置 enable: false, // 开启自动切换 dayHour: 7, // 日间模式开始时间,整数型,24小时制 nightHour: 20 // 夜间模式开始时间,整数型,24小时制 } switchDayNight: { enable: true, auto: { enable: true } }, progressBar: { id : 'top-progress-bar', // 请勿修改该值 color : '#77b6ff', height : '2px', duration: 0.2, }, loading: { rebound: { tension: 16, friction: 5, }, spinner: { id: 'spinner', radius: 90, sides: 3, depth: 4, colors: { background: '#f0f0f0', stroke: '#272633', base: null, child: '#272633', }, alwaysForward: true, // When false the spring will reverse normally. restAt: 0.5, // A number from 0.1 to 0.9 || null for full rotation renderBase: false, } }, homeTopAnimationRendered: true, homeTopAnimation: { radius: 15, density: 0.2, color: 'rgba(255,255,255, .2)', // 颜色设置,“random” 为随机颜色 clearOffset: 0.3, }, essayTopAnimationRendered: true, essayTopAnimation: { triW : 14, triH : 20, neighbours : ["side", "top", "bottom"], speedTrailAppear : .1, speedTrailDisappear : .1, speedTriOpen : 1, trailMaxLength : 30, trailIntervalCreation : 100, delayBeforeDisappear : 2, colorsRandom: false, // v1.2.4 是否开启随机颜色 colors: [ '#96EDA6', '#5BC6A9', '#38668C', '#374D84', '#BED5CB', '#62ADC6', '#8EE5DE', '#304E7B' ] }, homeTopImg: [ "https://cdn.jsdelivr.net/gh/BNDong/Cnblogs-Theme-SimpleMemory@master/img/webp/home_top_bg.webp", "https://cdn.jsdelivr.net/gh/BNDong/Cnblogs-Theme-SimpleMemory@master/img/webp/home_top_bg.webp" ], homeBannerTextType: "one", essayTopImg: [ "https://cdn.jsdelivr.net/gh/BNDong/Cnblogs-Theme-SimpleMemory@master/img/webp/nothome_top_bg.webp", "https://cdn.jsdelivr.net/gh/BNDong/Cnblogs-Theme-SimpleMemory@master/img/webp/nothome_top_bg.webp", "https://gitee.com/MoYu-zc/picgo/raw/master/img/20210208190902.jpg", "https://gitee.com/MoYu-zc/picgo/raw/master/img/20210208190954.jpg", ], codeMaxHeight: true, codeLineNumber: true, essayCode: { fontFamily: "'Ubuntu Mono',monospace", // 代码框字体 fontSize: "14px" // 代码框字体大小 }, }

SpringBoot-12 Dubbo+Zookeeper

SpringBoot-12 Dubbo+Zookeeper

1.Dubbo概念

Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能、轻量级的开源Java RPC框架,它提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和发现,高度可扩展能力,运行期流量调度,可视化的服务治理与运维。

官网:http://dubbo.apache.org/

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

调用关系说明

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

2.Dubbo环境搭建

这里我们可以使用Zookeeper注册中心

2.1 安装Zookeeper

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.2/

zookeeper 从 3.5 版本以后,命名就发生了改变

如果是 apache-zookeeper-3...tar.gz 这般命名的,都是未编译的

而 apache-zookeeper-3..-bin.tar.gz 这般命名的,才是已编译的包

进入之后下载压缩包即可:

2

下载好解压:

3

bin文件夹中有 zkServer.cmd,双击启动:

4

2.2 遇到问题

找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain

原因分析:

zookeeper 从 3.5 版本以后,命名就发生了改变

如果是 apache-zookeeper-*.tar.gz 这般命名的,都是未编译的

而 apache-zookeeper-*-bin.tar.gz 这般命名的,才是已编译的包

解决方案:
重新下载 apache-zookeeper-3..-bin.tar.gz 包,然后解压使用。

闪退问题

第一次使用的话,可能会遇到闪退的问题:

解决方法:

编辑该文件,在 endlocal 上面一行加入 pause

该语句会使程序运行到这个地方停止,等待你的操作

5

双击打开:

6

原因分析:

解压的文件夹根目录下,有一个conf文件夹,中间没有zoo.cfg

解决方案:
将文件中原有的zoo_sample.cfg复制一下,改名为zoo.cfg

这时候就运行成功了

2.3 Zookeeper运行

依次 先打开 bin文件夹下的:zkServer.cmdzkCli.cmd

7

这说明已经运行成功。

Zookeeper语句

1.查看现存有的文件夹

ls /

2.创建新文件夹

下方语句意思为:创建一个zc文件夹,存值123

creste -e /zc 123

3.查看文件夹内容

get /zc

8

3.安装dubbo-admin

3.1 下载项目

dubbo-admin下载地址

注意:记得更改该项目分支为master再下载

下载好解压,在根目录下 dubbo-admin----src----main----resources文件夹下的 application.properties

9

admin.registry.address=zookeeper://127.0.0.1:2181

此处就是注册中心地址

3.2 打包项目

在cmd命令指示框进入到根目录:

mvn clean package -Dmaven.test.skip=true

第一次打包项目是挺慢的。

9

这时候进入 dubbo-admin----target,会出现jar包

11

3.3 运行测试

我们需要打开的网址为:http://localhost:7001/

cmd下,执行该语句,这时候会发现报错。

java -jar dubbo-admin-0. 3. 0-SNAPSHOT. jar

然后我们先启动Zookeeper服务器,在启动jar包

12

默认账号密码都是:root,输入就进入了。

13

4.小结

zookeeper:注册中心

dubbo-admin:是一个监控管理后台-查看我们注册了哪些服务,哪些服务被消费了

Dubbo:jar包

个人博客为:
MoYu's HomePage
MoYu's Gitee Blog

posted @ 2021-04-07 15:56  MoYu-zc  阅读(122)  评论(0编辑  收藏  举报