一、dubbo简单介绍
二、搭建zookeeper
三、搭建dubbo监控中间
四、设置装备摆设项目
五、测试
初接触的分布式项目,利用到了dubbo,zookeeper,之前没有利用过,项目架构年夜致如下:
一、dubbo简单介绍
利用dubbo官网的一张图来简单介绍下dubbo:
Registry:注册中间,半斤八两于房产中介,办事供给者和利用者都需要在这里注册/利用办事,我利用zookeeper实现。
Monitor:监控中间,半斤八两于房产局,它可以统计办事供给者和办事利用者的一些信息,及他们之间的关系,我利用dubbo admin实现。
Provider:办事供给者,半斤八两于房主,供给办事。
Consumer:办事消费者,想当于租户,利用办事。
下面我通俗的诠释下dubbo的整个流程,我将办事比方当作房子:
start:dubbo一启动,房主想好本身筹办要租出去的房子
register:房主将房子拿到房产中介何处进行挂号,并留下本身的联系体例
subscribe:租户告诉房产中介本身想租一个什么样的房子
notify:房产中介答复给租户合适前提的房子的房主的联系体例
invoke:租户拿着联系体例去找房主租房子
count:房产局全程监控着房主和租户之间的买卖
此中:
start、register、subscribe在dubbo办事一启动就完当作了
notify、count是异步执行的
invoke是同步执行的
二、搭建zookeeper
下载zookeeper-3.4.12
下载后将其解压:
在zookper文件夹下成立data文件夹用于存放日记和数据;
进入conf目次,对zoo.cfg其进行点窜;
设置装备摆设下dataDir路径,为之前建立的两个文件夹的路径,clientPort利用默认的2181端口即可:
进入到bin目次,启动办事即可:
三、搭建dubbo监控中间
版本要求:
请利用dubbo-admin-2.5.6.war及以上版本,不然会不撑持JDK1.8!
小心踩坑:
若是你的zookeeper和dubbo-admin在一台办事器上,dubbo-admin不消点窜任何内容!
若是不在一台办事器上,将war包解压后,点窜项目/WEF-INF/dubbo.properties文件,将zookeeper地址改为其地点办事器的地址(这里同时能点窜root用户和guest用户的暗码)。
四、设置装备摆设项目
这里牵扯到项目代码,若是看不懂,可以下载文章开首的项目源码,或者直接利用官方供给的dubbo-demo,更为简单。
起首给办事供给方和办事利用方导入依靠包:
还需要在相关设置装备摆设文件加上dubbo的bean的头部约束,将下面的添加到bean头部即可:
4.1 办事供给方代码
对于办事供给方,若是我们想要TbItemService对外供给办事:
需要点窜spring关于service的设置装备摆设文件,插手dubbo的设置装备摆设信息:
dubbo:application:供给方的应用名
dubbo:registry:注册中间的类型和地址
dubbo:protocol:这个办事要表露在哪个端口上(利用方按照这个端口利用办事)
dubbo:service:设置表露的办事的接口,ref为该接口的bean,timeout为超不时间
4.2 办事利用方代码
办事利用方,我利用Spring MVC来实现,点窜Spring MVC的设置装备摆设文件,插手dubbo的设置装备摆设:
dubbo:application: 利用方的应用名
dubbo:registry:注册中间的类型和地址
dubbo:reference:要利用的办事的接口,并将返回的注入bean,名称为id设的值
若是设置装备摆设没有问题的话,此刻利用方已经可以或许利用供给方供给的办事了,直接将tbItemService注入进来即可:
五、测试
办事器上别离启动zookper和tomcat
别离启动办事供给方的项目和办事利用方的项目:
测试下/items/{id}这个API:
当作功!下面再拜候下监控中间,因为监控中间和zookeeper在一台办事器上,我的tomcat摆设在8888端口,即拜候192.168.30.145:8888/dubbo-admin即可,用户名暗码默认为root:
查看所有注册的办事:
查看包罗消费者和供给者的所有应用名:
消费者、供给者具体信息:
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!