转载一篇博客,写得不错(至少我参考一下搭建成功了)

转载地址:http://my.oschina.net/wangt10/blog/522799

dubbo简介

节点角色说明:

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

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

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

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

Container: 服务运行容器。

调用关系说明:

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

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

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

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

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

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

四个步骤

1 搭建zookeeper消息中心

2 搭建dubbo服务端代码

3 写dubbo客户端代码

4 dubbo提供的dubbo-admin-2.5.4.war 管理控制台

一: 搭建zookeeper 消息中心

1 下载zookeeper安装文件

zookeeper-3.3.6.tar.gz

2  执行命令 tar zxvf zookeeper-3.4.6.tar.gz 解压,
3 到 zookeeper-3.3.6/conf 目录下

把zoo_sample.cfg 复制一份为zoo.cfg,作为默认配置文件

4 配置说明

tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

我的配置: 端口2181是默认配置

5 在zookper-3.3.6/bin目录下执行

./zkServer.sh start 启动zookeeper

6 验证zookeeper是否启动

使用netstat -lpn | grep 2181

如果有端口号, 说明已经启动

ps: 因为我linux 是装在虚拟机里面, zookeer在虚拟机里,  DubboServer , DubboClient , DubboAdmin 都是在windows上, 注意要开放linux的2181端口

二 DubboServer 工程

DubboServer段是一个web工程,服务提供者, 我这里是dubbo和spring结合搭建.

spring的搭建过程,可参见  springmvc + mybatis配置

我这里仅是搭建spring和dubbo的例子,使用的最少的配置

1 测试代码编写

2 dubbo的xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="wt-dubbo-server"  />
<!-- 消息中心地址 -->
<dubbo:registry address="zookeeper://192.168.20.129:2181" check="false"/>
<dubbo:protocol name="dubbo" port="20880" serialization="hessian2" />
<!-- 声明接口 -->
<dubbo:service interface="com.DubboServer" ref="dubboServer" />
</beans>
3 导出接口层的jar

把server层的代码导出jar, 后面放到dubboClient中!!

然后启动项目

三 DubboClient工程

dubboClient可以是web工程也可以是普通的javaproject.

我也是用的spring集成,但是使用的是junit进行测试,

1 dubboclient端代码

2 dubbo的xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd    
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<dubbo:application name="dys-client"  />
<!-- 消息中心地址 -->
<dubbo:registry address="zookeeper://192.168.20.129:2181" check="false"/>
<!-- 声明接口 -->
<dubbo:reference id="dubboServer" interface="com.DubboServer" />
</beans>
3 测试运行client端代码(zookeeper 和 dubboServer端已经启动)

运行成功!

四 dubbo-admin-2.5.4.war 管理控制台

把这个war包放到tomcat的webapps目录下

1 修改tomcat的端口号不要和其他服务冲突.

2 修改 WEB-INF 下的dubbo.properties文件

dubbo.registry.address=zookeeper://192.168.20.129:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

3 启动tomcat,访问.

点击 服务治理--提供者 可看到如下,    还有一些其他的信息,再查阅吧,暂时我也不是很清楚

160719、Spring + Dubbo + zookeeper (linux) 框架搭建的更多相关文章

  1. MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建

    : 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程  API    Pom.xml:不用引用任何东西  Provider    Pom.xml:要denpend ...

  2. 搭建SpringBoot+dubbo+zookeeper+maven框架(一)

    这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...

  3. 搭建SpringBoot+dubbo+zookeeper+maven框架(二)

    上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...

  4. dubbo+zookeeper+springBoot框架整合与dubbo泛型调用演示

    dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示   By:客 授客 QQ:1033553122  欢迎加入全国软件测试交流 QQ  群:7156436 ...

  5. spring+mybatis+mina+logback框架搭建

    第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...

  6. spring结合Mybatis的框架搭建(一)

    一:前沿 2015年新年上班的第二天,第一天就打了一天的酱油哦,只是下午开始搭建自己毕业设计的框架,搭建的是spring+spring mvc+MyBatis的框架.今天遇到了一个问题,结果弄了我一天 ...

  7. [Java] Spring boot 的 SrpingSecurity 框架搭建

    参考: SrpingSecurity]之一:框架搭建https://blog.csdn.net/qq_28296925/article/details/82021092 [SpringSecurity ...

  8. Dubbo——基于Zookeeper服务框架搭建及案例演示

    一.了解SOA微服务架构 在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡. (1) 当服务越来 ...

  9. 搭建SpringBoot+dubbo+zookeeper+maven框架(三)

    今天我们要在原来搭建的框架基础上集成redis数据库. redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统.它支持存储的value类型相对更 ...

随机推荐

  1. 《转》oracle—flashback

    FLASHBACK介绍 在介绍flashback之前先介绍下undo_retention相关参数 undo_retention:表示undo数据的过期时间.系统默认这个时间设置为900即15分钟.但要 ...

  2. SQL 查询结果为 XML

    --原始数据 SELECT  OrderNO,CreateDate,Username,Address FROM   Whir_Order_OrderInfo --1.AUTO模式 SELECT  Or ...

  3. WebView中input file的解决方法

    public class MyWb extends Activity { /** Called when the activity is first created. */ WebView web; ...

  4. JS高程3:DOM-DOM操作技术

    动态脚本 加载外部脚本 方式一,直接写代码: var script = document.createElement("script"); script.type = " ...

  5. 重启tomcat但是session仍然有效的解决方法

    参考:http://www.blogjava.net/freeman1984/archive/2010/03/30/316901.html server.xml,在你的webapp的Context节点 ...

  6. 跟着百度学PHP[14]-COOKIE的应用/网站登陆案例完整案例

    先在数据库当中创建以下数据: mysql> create table user( -> id int not null auto_increment, ) not null default ...

  7. IE下使用jquery失效的问题(转载)

    1,然后各种调试,最后发现:把ie把关了,再打开$.get().会调用,再第二次调用的用的时候发现又不行了.于是我推断是ie缓存的问题,把ie缓存清除后,果然可以了.但是客户不可能知道清理缓存.所以只 ...

  8. ASP.NET MVC 4新建库项目中找不到 System.Web.Security 的引用

    .NET 4中,WebSecurity的引用已经不再System.Web中,而是转移到了System.Web.ApplicationServices Dll中,添加该Dll即可.

  9. HDU1196 Lowest Bit

    Lowest Bit Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  10. EasyUI项目学习

    介绍easyui的使用,主要包括以下组件 布局面板 - layout 可伸缩面板 - accordion 选项卡 - tabs 控制面板 - panel 窗口 - window 对话框 - dialo ...