160719、Spring + Dubbo + zookeeper (linux) 框架搭建
转载一篇博客,写得不错(至少我参考一下搭建成功了)
转载地址: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) 框架搭建的更多相关文章
- MAC环境下idea:maven+Spring+Dubbo+Zookeeper简单工程搭建
: 一:安装软件:tomcatZookeeperDubbo+admin 二:工程: 总工程 API Pom.xml:不用引用任何东西 Provider Pom.xml:要denpend ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(一)
这几天项目还没来,所以就自己试着参考网上的一些资料,搭建了一个SpringBoot+dubbo+zookeeper+maven框架,网上参考的很多资料照着他们一步一步搭建,最后很多都运行不通,很是郁闷 ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(二)
上一篇文章是关于搭建SpringBoot+dubbo+zookeeper+maven框架的,但是里面的功能还不够完善,今天就日志管理方面做一些改善. 下了demo的网友可能会发现项目在启动时会有警告: ...
- dubbo+zookeeper+springBoot框架整合与dubbo泛型调用演示
dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示 By:客 授客 QQ:1033553122 欢迎加入全国软件测试交流 QQ 群:7156436 ...
- spring+mybatis+mina+logback框架搭建
第一次接触spring,之前从来没有学过spring,所以算是赶鸭子上架,花了差不多一个星期来搭建,中间遇到各种各样的问题,一度觉得这个框架搭建非常麻烦,没有一点技术含量,纯粹就是配置,很低级!但随着 ...
- spring结合Mybatis的框架搭建(一)
一:前沿 2015年新年上班的第二天,第一天就打了一天的酱油哦,只是下午开始搭建自己毕业设计的框架,搭建的是spring+spring mvc+MyBatis的框架.今天遇到了一个问题,结果弄了我一天 ...
- [Java] Spring boot 的 SrpingSecurity 框架搭建
参考: SrpingSecurity]之一:框架搭建https://blog.csdn.net/qq_28296925/article/details/82021092 [SpringSecurity ...
- Dubbo——基于Zookeeper服务框架搭建及案例演示
一.了解SOA微服务架构 在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡. (1) 当服务越来 ...
- 搭建SpringBoot+dubbo+zookeeper+maven框架(三)
今天我们要在原来搭建的框架基础上集成redis数据库. redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是一个key-value存储系统.它支持存储的value类型相对更 ...
随机推荐
- Android之常用功能代码
透明导航栏 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().addFlags(WindowManage ...
- oracle 复杂的查找用法
[第一题]: 找到员工表中工资最高的前三名,要求按如下格式输出(第一步部分):以及oracle查询结果指定分页显示的方法(第二部分). ——涉及Top-N分析问题. 一般不在子查询中使用order b ...
- vsftp 虚拟用户高级设置(转载)
发布:xiaokk 来源:net [大 中 小] vsftp 虚拟用户高级设置 本文转自:http://www.jbxue.com/article/1724.html 1.安装所需软件包 ...
- Unix删除当前目录可执行文件
On GNU versions of find you can use -executable: find . -type f -executable -printFor BSD versions o ...
- 转:SNMP 原理及配置简述
SNMP 原理及配置简述 转载 2016年01月13日 16:18:51 随着机器数量的增长,管理员不能像过去那样,一台台机器进行监控.解决问题,而需要借助各方工具进行统一监控和管理.利用SNMP,一 ...
- flink on yarn部分源码解析
转发请注明原创地址:https://www.cnblogs.com/dongxiao-yang/p/9403427.html flink任务的deploy形式有很多种选择,常见的有standalone ...
- C#遍历计算机上所有的文件
class Program { static List<string> allFileName=new List<string>(); static void Main(str ...
- Java序列化与反序列化学习(二):序列化接口说明
一.序列化类实现Serializable接口 Serializable接口没有方法,更像是个标记.有了这个标记的Class就能被序列化机制处理. ObjectOutputStream只能对Serial ...
- 0052 Spring MVC入门--环境搭建--第一个入门示例
Spring MVC是什么 Spring是一个框架,包括了MVC.IoC.AOP等等组件 MVC是一种思想,并非Spring框架独有,全称是Model.View.Controller,即模型.视图.控 ...
- java递归排序
public class TestNativeOutOfMemoryError{ static int[] aa = new int[] {1, 2, 3, 4}; static int[] bb = ...
