1.zookeeper注册中心的配置安装

1.1 下载zookeeper包(zookeeper-3.4.6.tar.gz),ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字   服务、分布式同步、组服务等。

1.2  将下载的包解压,然后在.\zookeeper-3.4.6\conf\路径下找到:zoo_sample.cfg文件,这个是配置的实例文件,参考这个文件建立zoo.cfg文件

# The number of milliseconds of each tick//ZK中的一个时间单元2000ms
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take//Leader允许Follower在initLimit时间内完成初始化工作。
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.\\就是把内存中的数据存储成快照文件snapshot的目录
dataDir=E:\\dubbo\\zookeeperB\\data
# the port at which the clients will connect
clientPort=2181

1.3 然后点击E:\software\zookeeper-3.4.6\bin路径下面的zkServer.cmd启动zookeeper

2.dubboadmin监控中心的安装配置

首先下载tomacat,安装配置(略)
下载dubbo-admin包(dubbo-admin-2.8.4.war)
找到 tomcat安装路径下的 .\webapps\ROOT目录,然后清空里面的所有文件
将dubbo-admin包(dubbo-admin-2.8.4.war)解压到此文件中
在解压的文件中找到\WEB-INF文件夹下的dubbo.properties文件,然后进行配置,默认属性配置如下:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
然后启动tomcat(zookeeper已启动,此步tomcat要访问zookeeper,如果zk没有启动,tomcat会一直等待其启动)。在浏览器中输入http://127.0.0.1:8080/dubbo-admin-2.8.4,进入监控中心的管理界面(默认管理员账户密码为:root,root)

3.编写生产者和消费者

3.1 定义生产者需要提供给消费者调用的服务接口

 public interface PmsUserFacade{

      public PmsUser getById(Long userId);

}

3.2 生产者实现接口

@Service("pmsUserFacade")
public class PmsUserFacadeImpl implements PmsUserFacade { @Autowired
private PmsUserBiz pmsUserBiz; public PmsUser getById(Long userId) {
return pmsUserBiz.getById(userId);
} }

3.3生产者发布提供给消费者的接口到zookeeper注册中心dubbo-provider.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="gw-service-user" /> <!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="192.168.152.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" /> <!-- 暴露的用户服务接口 -->
<dubbo:service interface="lgs.user.service.PmsUserFacade" ref="pmsUserFacade" /> </beans>

3.4 消费者通过dubbo配置文件获取生产者发布到zookeeper注册中心的服务接口dubbo-consumer.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="edu-web-boss" /> <!-- 使用zookeeper注册中心暴露服务地址 -->
<!-- 注册中心地址 -->
<dubbo:registry protocol="zookeeper" address="192.168.152.1:2181" /> <!-- 需要从zookeeper注册中心获取用户服务接口 check="false"表示访问的时候才检测接口是否存在,启动时不检测 -->
<dubbo:reference interface="lgs.user.service.PmsUserFacade" id="pmsUserFacade" check="false" /> </beans>

3.5 消费者获取到zookeeper注册中心的接口以后调用生产者获取数据

@Scope("prototype")
public class PmsUserAction extends BaseAction { public String viewPmsUserUI() {
try {
Long userId = getLong("id");
PmsUser pmsUser = pmsUserFacade.getById(userId);
if (pmsUser == null) {
return operateError("无法获取要查看的数据");
} this.putData("UserStatusEnumList", UserStatusEnum.values());
this.putData("UserStatusEnum", UserStatusEnum.toMap());
this.putData("UserTypeEnumList", UserTypeEnum.values());
this.putData("UserTypeEnum", UserTypeEnum.toMap()); this.pushData(pmsUser);
return "PmsUserView";
} catch (Exception e) {
log.error("== viewPmsUserUI exception:", e);
return operateError("获取数据失败");
}
} }

3.6 分别启动生产者和消费者就能在dubboadmin监控中心看到对应的服务,也可以看到生产者服务暴露的接口,这里要注意:消费者要通过页面访问以后才能在dubboadmin监控中心看到

搭建dubbo+zookeeper+dubboadmin分布式服务框架(windows平台下)的更多相关文章

  1. dubbo系列二、dubbo+zookeeper+dubboadmin分布式服务框架搭建(windows平台)

    一.zookeeper配置中心安装 1.下载安装包,zookeeper-3.4.6.tar.gz 2.解压安装包,修改配置文件 参考zookeeper-3.4.6/conf/zoo_sample.cf ...

  2. Dubbo 是一个分布式服务框架

    Dubbo 是一个分布式服务框架-----http://www.cnblogs.com/chanshuyi/p/5144288.html

  3. 【Zookeeper】分布式服务框架 Zookeeper -- 管理分布式环境中的数据

    Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...

  4. Dubbo (开源分布式服务框架)

    Provider 暴露服务方称之为“服务提供者”. Consumer 调用远程服务方称之为“服务消费者”. Registry 服务注册与发现的中心目录服务称之为“服务注册中心”. Monitor 统计 ...

  5. Dubbo 分布式服务框架(spring、zookeeper)

    DUBBO DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架, alibaba资源 源码:https://github.com ...

  6. Dubbo分布式服务框架入门

    参考http://blog.csdn.net/u013142781/article/details/50387583 一.Dubbo概念介绍 1.1.Dubbo是什么? Dubbo是一个分布式服务框架 ...

  7. Dubbo分布式服务框架入门使用

    概念: Provider 暴露服务方称之为"服务提供者". Consumer 调用远程服务方称之为"服务消费者". Registry 服务注册与发现的中心目录服 ...

  8. Dubbo 分布式服务框架入门

    要想了解 Dubbo 是什么,我们不防先了解它有什么用.使用场景:比如我想开发一个网上商城项目,这个网上商城呢,比较复杂,分为 pc 端 web 管理后台,微信端销售公众号,那么我们分成四个项目,pc ...

  9. Dubbo 分布式服务框架

    要想了解Dubbo是什么,我们不防先了解它有什么用. 使用场景:比如我想开发一个网上商城项目,这个网上商城呢,比较复杂,分为pc端web管理后台,微信端销售公众号,那么我们分成四个项目,pc端网站,微 ...

随机推荐

  1. selenium,html高宽设置成了0,会影响元素可见性,怎么手动修改某个元素的高宽?

     问题:要js的话,需要用webelment,此时元素已经是不可见了   ((JavascriptExecutor) this.driver).executeScript("argument ...

  2. Jmeter+Jenkins的聚合报告中添加QPS栏目显示

    1.进入jmeter/extras目录,修改 jmeter-results-detail-report_21.xsl   2.打开文件修改 如上所示,在文件中添加6个地方关于QPS的显示即可, 然后替 ...

  3. [C#] 如何截取完整的网页图片

    前言 有时候浏览到非常有用的网页时,我们会选择将它加入到收藏夹中,但是网站一旦过期,以后就看不到这个网页了.当然也可以将网页打印成PDF文档保存.最新的Windows 10中的Edge浏览器支持将网页 ...

  4. [转]RMI方式Ehcache集群的源码分析

    RMI方式Ehcache集群的源码分析   Ehcache不仅支持基本的内存缓存,还支持多种方式将本地内存中的缓存同步到其他使用Ehcache的服务器中,形成集群.如下图所示:   Ehcache支持 ...

  5. Day-8: 面对对象编程

    面对过程的程序设计方法意在将函数分成子函数,再依次调用这些函数来解决问题. 而面对对象的程序设计方法,来源于自然界,类是实例的抽象,实例是类的具体.自定义出来的对象是类,而所有的数据都可以看成是对象, ...

  6. linux下使用gcc编译运行C程序

    gcc(GNU Compiler Collection)是Linux下最常用的C语言编译器,是GNU项目中符合ANSI C标准的编译系统,能够编译用C.C++和Object C等语言编写的程序.  在 ...

  7. CurrentCulture和CurrentUICulture的区别

    CurrentCulture 这个属性用来表示和改变使用者要使用的“地区属性”,地区属性改变后,数字.日期时间等表示格式也随之改变. 注意:一定是“地区属性”,如"zh-cn".& ...

  8. poj3463 最短路和比最短路长1的路径数

    这题需要很好的理解Dij. 在Dij的基础上,每个点多一个次短路的长度和数量进行控制. 那么在队列中,最短路控制时出现n次,次短路控制出现n次.注意松弛条件中val值和最短路.次短路的关系. 这题需要 ...

  9. Project 2:传奇汉诺塔

    汉诺塔简介:汉诺塔问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在 ...

  10. NHibernate教程(11)--多对多关联查询

    本节内容 多对多关系引入 多对多映射关系 多对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 多对多关系引入 让我们再次回顾在第二篇中建立的数据模型 ...