dubbo-zookeeper(续)

本篇为继上一篇的续篇,主要内容分为以下几点:

1、zookeeper集群

2、web管理平台

3、dubbo配置说明

接下来我们开始继续吧。

 

一、zookeeper集群

顾名思义也就是多台zookeeper服务以及多台服务器共同协作。

在上一篇中我们已经把dubbo-consumer工程实现了,我们能够看出来zookeeper默认监听的端口号为 2181, 相对来说这只是一台zookeeper服务,在这种情况下我们也能实现多台zookeeper服务。

1、首先启动zookeeper服务,那么此时端口号为2181的zookeeper服务已经启动了,接着修改zoo.cfg配置文件,将其属性clientPort=2181改为clientPort=2182或者2183等其他端口,然后再启动zookeeper服务,那么端口为2182的zookeeper的服务便启动了。(注意:刚才启动的端口号为2181的zookeeper服务并未关闭)多次修改端口号并且启动zookeeper服务,此时已经形成了多台zookeeper服务了。

2、编写多个类似于dubbo-provider工程的实例,并且分别他们的spring-dubbo-provider.xml文件中配置注册中心:

<dubbo:registry address="zookeeper://localhost:2182"/>

或者

<dubbo:registry address="zookeeper://localhost:2183"/>

3、在名为dubbo-consumer的maven工程中,修改其spring-dubbo-consumer.xml文件。添加多个注册中心的配置如下:

<dubbo:registry address="zookeeper://localhost:2182"/>

<dubbo:registry address="zookeeper://localhost:2183"/>

....

并且添加多个暴露的接口配置如下:

<dubbo:reference id="testService2" interface="com.dubbo.test.inter.service.TestService2"/>

<dubbo:reference id="testService3" interface="com.dubbo.test.inter.service.TestService3"/>

这样便可以从多个zookeeper服务中获取暴露的远程接口,并且作为自己的业务开发使用

4、测试,跟之前测试一致

 ①启动多个zookeeper服务

 ②启动各个provider

 ③启动各个consumer

 

说到这里,多台zookeeper的集群完成,然后对于多台服务来说也没有多大区别,也只不过是把同一个项目分别放到多个服务器中。

 

二、web管理平台

下载dubbo-admin-2.5.3.war 文件,把改文件放到tomcat的webapps目录下,然后启动zookeeper和Tomcat,在浏览器中输入http://localhost:8080/dubbo-admin便可以查看

注意:如果JDK是1.8版本的,需要切换成1.7,因为dubbo-admin-2.5.3.war文件对1.8版本的JDK存在兼容性问题,否则Tomcat启动会失败报错。

错误如下:
Bean property ‘URIType‘ is not writable or has an invalid

以下有两种修改JDK版本的方式:

①方式一:

1) 修改bin文件夹下面的catalina.bat文件,把如下内容
rem ----- Execute The Requested Command ----------------------------------
echo Using CATALINA_BASE: %CATALINA_BASE% 
echo Using CATALINA_HOME: %CATALINA_HOME% 
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR% 
echo Using JAVA_HOME: %JAVA_HOME%
 
修改为:
echo Using CATALINA_BASE: %CATALINA_BASE% 
echo Using CATALINA_HOME: %CATALINA_HOME% 
echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR% 
echo Using JAVA_HOME: D:\Java\jdk1.7.0_79
 
2) 修改bin文件夹下面的setclasspath.bat文件,把如下内容:
rem Set standard command for invoking Java. 

rem Note that NT requires a window name argument when using start. 
rem Also note the quoting as JAVA_HOME may contain spaces. 
set _RUNJAVA="%JAVA_HOME%\bin\java" 
set _RUNJAVAW="%JAVA_HOME%\bin\javaw" 
set _RUNJDB="%JAVA_HOME%\bin\jdb" 
set _RUNJAVAC="%JAVA_HOME%\bin\javac" 
 

修改为: 
rem Set standard command for invoking Java. 

rem Note that NT requires a window name argument when using start. 
rem Also note the quoting as JAVA_HOME may contain spaces. 
set _RUNJAVA="D:\Java\jdk1.7.0_79\bin\java.exe"

 
set _RUNJDB="D:\Java\jdk1.7.0_79\bin\jdb.exe"
 
②方式二:
直接从eclipse中切换JDK的版本
 
三、dubbo配置说明
<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。

<dubbo:reference/> 引用服务配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。

<dubbo:protocol/> 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。

<dubbo:application/> 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。

<dubbo:module/> 模块配置,用于配置当前模块信息,可选。
<dubbo:registry/> 注册中心配置,用于配置连接注册中心相关信息。

<dubbo:monitor/> 监控中心配置,用于配置连接监控中心相关信息,可选。
<dubbo:provider/> 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。
<dubbo:consumer/> 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。
<dubbo:method/> 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。
<dubbo:argument/> 用于指定方法参数配置。

posted @ 2017-07-19 17:41  mr有趣  阅读(372)  评论(0编辑  收藏  举报