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

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/> 用于指定方法参数配置。

dubbo-zookeeper(续)的更多相关文章

  1. 从头开始搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

  2. 通过单元测试理解spring容器以及dubbo+zookeeper单元测试异常处理

    一.先说一个结论:单元测试与主项目的spring容器是隔离的,也就是说,单元测试无法访问主项目spring容器,需要自己加载spring容器. 接下来是代码实例,WEB主项目出于运行状态,单元测试中可 ...

  3. 用dubbo+zookeeper+spring搭建一个简单的http接口程序

    dubbo是一个分布式服务框架,是阿里巴巴开发的一个解决RPC远程调用优化的核心框架,包含负载均衡算法,能提高分布式系统的性能. zookeeper是hadoop的一个子项目,主要用来解决分布式系统的 ...

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

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

  5. 精华【分布式、微服务、云架构、dubbo+zookeeper+springmvc+mybatis+shiro+redis】分布式大型互联网企业架构!

    平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成Dubbo服务管控.Zookeeper注册中心.Redis ...

  6. 分布式服务:Dubbo+Zookeeper+Proxy+Restful 分布式架构

    分布式 分布式服务:Dubbo+Zookeeper+Proxy+Restful 分布式消息中间件:KafKa+Flume+Zookeeper 分布式缓存:Redis    分布式文件:FastDFS ...

  7. 分布式架构真正适用于大型互联网项目的架构! dubbo+zookeeper+springmvc+mybatis+shiro+redis

     分类: 分布式技术(3)    目录(?)[+]   平台简介 Jeesz是一个分布式的框架,提供项目模块化.服务化.热插拔的思想,高度封装安全性的Java EE快速开发平台. Jeesz本身集成D ...

  8. dubbo+zookeeper+jenkins从打包开始

    一.jenkins中maven构建 有如下图构建设置 解释说明: pom.xml 此处jenkins打包依赖的主要配置文件(规则) settings.xml 全局配置文件,主要用于配置maven的运行 ...

  9. Dubbo+zookeeper构建高可用分布式集群(二)-集群部署

    在Dubbo+zookeeper构建高可用分布式集群(一)-单机部署中我们讲了如何单机部署.但没有将如何配置微服务.下面分别介绍单机与集群微服务如何配置注册中心. Zookeeper单机配置:方式一. ...

  10. 搭建一个dubbo+zookeeper平台

    本篇主要是来分享从头开始搭建一个dubbo+zookeeper平台的过程,其中会简要介绍下dubbo服务的作用. 首先,看下一般网站架构随着业务的发展,逻辑越来越复杂,数据量越来越大,交互越来越多之后 ...

随机推荐

  1. orcale设置自增列

    create sequence SEQ_ERRORID minvalue 1 maxvalue 99999999 start with 1000 increment by 1 nocache orde ...

  2. test_CSDN_markdown_format

    test Markdown编辑器写博客,使用CSDN的markdown模版 测试结果 不支持的模块 生成目录[toc] 流程图 文献引用 其它模块正常 正文 本Markdown编辑器使用StackEd ...

  3. 推荐几款.NET客户端开源报表图

    如果你正在开发客户端报表图相关的应用,除了.NET自带的控件,你还可以考虑使用以下几个控件库. [OxyPlot] OxyPlot是一个支持.NET的跨平台绘图库.你可以在很多平台上使用它,如WPF, ...

  4. linux下修改Apache配置文件

    linux下修改host文件host文件存放路径 /etc/hosts 可以用vim编辑 //Apache配置虚拟主机 /usr/local/apache/conf/extra/httpd-vhost ...

  5. 怎样用DOS命令创建txt文本文档

    单击运行, 打开命令提示符. 例如在D盘创建文本文档,那么就先进入D盘,在后面写 D: 于是就进入了D盘怎样用DOS命令创建txt文本文档 然后在后面写命令 copy con 文件名.txt ,然后回 ...

  6. AngularJS数据双向绑定

    <body ng-app> <div ng-controller="myCtrl"> <input ng-model="abc" ...

  7. I/O多路复用之epoll实战

    概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程 通俗理解(摘自网上一大神) 这些名词比较绕口,理解涵义就好.一个epoll场景:一个酒吧服务员(一个线程),前 ...

  8. tomcat 修改为自己项目界面

    修改Tomcat欢迎界面为自己项目界面 Posted on 2011-04-16 13:10 IceWee 阅读(1062) 评论(0)  编辑  收藏 所属分类: Tomcat  由于项目要发布到互 ...

  9. RedHat安装中文支持和字体

    操作系统: Red Hat Enterprise Linux 6.3 x86 安装中文语言支持: yum install "@chinese support" 安装完中文支持后,可 ...

  10. Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理

    Android系统--输入系统(十四)Dispatcher线程情景分析_dispatch前处理 1. 回顾 我们知道Android输入系统是Reader线程通过驱动程序得到上报的输入事件,还要经过处理 ...