Dubbo环境搭建

最近刚刚贴上小猪佩奇的标签,进入公司后接触的一个项目,采用了springboot+dubbo+zookeeper的架构,对我来说,完全是一个全新的东西,但是为了能够对这个项目进行全面的测试,必然要对测试对象有深入的了解。所以决定通过实践来学习——自己搭建一个Dubbo服务。

1.1 Dubbo原理

Dubbo是一种分布式的服务器框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。主要用于解决负载均衡、容灾等问题。
其基本原理可以通过一张图来概括


dubbo原理.png

1.1.1 节点角色说明

Provider: 暴露服务的服务提供方。

Consumer: 调用远程服务的服务消费方。

Registry: 服务注册与发现的注册中心。

Monitor: 统计服务的调用次调和调用时间的监控中心。

Container: 服务运行容器。

1.1.2 调用关系说明

0.服务容器负责启动,加载,运行服务提供者。

1.服务提供者在启动时,向注册中心注册自己提供的服务。

2.服务消费者在启动时,向注册中心订阅自己所需的服务。

3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

1.2 环境配置

jdk1.8 + tomcat9 + zookeeper3.4.10 + dubbo2.5.10

1.3 zookeeper的安装

zookeeper是一种分布式协调服务,我们的项目中选用了它,用于维护和监控存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

下载zookeeper安装包 zookeeper-3.4.10下载,然后进入到conf目录下,新建一个zoo.cfg

#tickTime: zookeeper中使用的基本时间单位,毫秒值。

#dataDir: 数据目录,即自己下载的zookeeper的data目录

#dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和#dataDir相同的设置

#clientPort: 监听client连接的端口号。

tickTime=2000

dataDir= /usr/local/zookeeper-3.4.10/data 

dataLogDir=/usr/local/zookeeper-3.4.10/logs

clientPort=2181

添加以上配置并保存后,进入zookeeper-3.4.10/bin目录下 执行./zkServer.sh start ,如图所示,zookeeper启动成功

zookeeper启动

1.4 dobbo admin安装

1.4.1 打包

安装dubbo admin需要下载dubbo-admin的war包。为了避免版本的冲突问题,这里我选择了自己打包。步骤很简单,去官网下载dubbo源码,然后进入到本地的dubbo-admin目录

cd /Users/Jocelyn/Downloads/incubator-dubbo-dubbo-2.5.10/dubbo-admin

在该目录下执行编译打包

mvn package -Dmaven.test.skip=true -e

这里加上-e控制Maven的日志级别,打印错误信息,便于定位执行中可能遇到的问题,我这次打包的过程一直失败,查看错误信息发现抛java.lang.ArrayIndexOutOfBoundsException: 31523 的错误,尝试了很多办法,最后重装了一个3.5.3版本的maven,问题解决。

打包完成后,dubbo-admin下会生成一个target文件夹,如图所示,可以在该文件夹下找到生成的war包。

dubbo目录结构

然后将这个war包拷贝出来,放到 本地的ApacheTomcat/webapps目录下。

1.4.2 修改dubbo的配置

进入/ApacheTomcat/webapps/dubbo-admin-2.5.10/WEB-INF修改dubbo.properties文件

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

dubbo.admin.root.password=root

dubbo.admin.guest.password=guest

配置dubbo的注册中心地址以及用户名密码。

1.4.3 启动

以上工作完成之后,进入到/ApacheTomcat/bin目录下启动Tomcat,输入命令:

 ./startup.sh

然后打开本地浏览器,输入http://localhost:8080/dubbo-admin-2.5.10/,在弹框中输入用户名密码。

DuangDuangDuang 就可以看到下图页面,dobbo环境就搭建完成了~

dubbo-admin启动成功页面

接下来就可以把dubbo和zookeeper集成到spring-boot中,之后将在另一篇文章中进行总结。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容