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

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. Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式

    下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL Rewrite模式. 1.ThinkPHP给出了ThinkPHP的官方解决方案,如下: 打开Nginx的配置文件 /etc/ng ...

  2. isNaN() 函数用于检查其参数是否是非数字值。如果是非数字值则返回true

    isNaN() 函数用于检查其参数是否是非数字值.如果是非数字值则返回true.document.write(isNaN(0)); falsedocument.write(isNaN("He ...

  3. Swift字符串插值

    字符串插值是一种全新的构建字符串的方式,可以在其中包含常量.变量.字面量和表达式.您插入的字符串字面量的每一项都被包裹在以反斜线为前缀的圆括号中: let multiplier = let messa ...

  4. linux+tomcat+jdk环境验证码无法显示

    我的环境配置:RHEL6.5+tomcat6+jdk1.6 今天遇到一个奇怪的现象,我的tomcat启动起来之后,网站无法显示验证码,导致无法登陆.我的tomcat启动过程是这样的: 我有一个进程守护 ...

  5. angular 4使用jquery 第三方插件库

    用jBox插件为例子 1,npm install jBox --save 2,找到.angular-cli.json  增加 "../node_modules/jbox/Source/jBo ...

  6. Netty ByteBuf源码分析

    Netty的ByteBuf是JDK中ByteBuffer的升级版,提供了NIO buffer和byte数组的抽象视图. ByteBuf的主要类集成关系: (图片来自Netty权威指南,图中有一个画错的 ...

  7. gulp总结

    安装 1.安装node 检测是否安装成功的方法,在命令行输入: node -v npm -v 显示版本号则安装成功 2.装cnmp一定要网络好一点 npm install cnpm -g --regi ...

  8. Java基础语法<一> 数据类型&运算符

    1 数据类型   1.1 整型 类型 存储需求 取值范围 int 4字节 -21 4748 3648 – 21 4748 3647 232 short 2字节 -32768-32767 216 lon ...

  9. vue--指令中值得随笔的地方

    v-model-- 双向数据绑定 number修饰指令 <!DOCTYPE html> <html lang="en"> <head> < ...

  10. Maven入门2-pom.xml文件与settings.xml文件

    Maven入门2-pom.xml文件与settings.xml文件 本文内容来源于官网文档部分章节,settings.xml文件:参考http://maven.apache.org/settings. ...