dubbo+zookeeper+spring搭建框架

头忽然要弄RPC,好吧,那就弄吧,看了几天视频文档总算搭好了,记录下。

spring就不用说了,在src.main.resources下弄个spring文件夹,在web.xml中放入消费方,提供方等配置xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
       classpath*:/spring/spring-*.xml
     </param-value>
</context-param>

zookeeper也很简单,修改conf文件夹下zoo_sample.cfg为zoo.cfg

启动bin下的zkServer.cmd,服务就启动了,可以用zkCli.cmd来查看信息

简单的操作命令,从别的地方粘过来的~

  • 显示根目录下文件

    ls /              //查看当前节点数据
    ls2 /             //查看当前节点数据并能看到更新次数等数据
    
  • 创建文件, 并设置初始内容:
    create /config "test" //创建一个新的节点并设置关联值
    create /config “”     //创建一个新的空节点
    
  • 获取文件内容
    get /brokers      //获取节点内容
    
  • 修改文件内容
    set /zk "zkbak"   //对 zk 所关联的字符串进行设置
    
  • 删除文件
    delete /brokers  //删除节点
    rmr    /brokers  //删除节点及子节点

下面就是dubbo

先单独写一个接口jar,这个文件提供方,消费方都要用

public interface IHelloWorld {
    String getBook(Book book);
}

提供方实现 IHelloWorld接口

public class HelloWorldImp implements IHelloWorld{
    @Override
    public String getBook(Book book) {
        return "book的名称为:"+book.getName();
    }
}

提供方xml spring-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:p="http://www.springframework.org/schema/p"
    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="hello-world-app"/>

    <!-- 使用zookeeper广播注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />

    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />

    <!-- 声明需要暴露的服务接口 -->
    <dubbo:service interface="com.gensoft.rpc.zz.IHelloWorld" ref="demoService" />

     <!-- 和本地bean一样实现服务 -->
    <bean id="demoService" class="cn.com.gensoft.rpc.HelloWorldImp" />

</beans>

消费方xml spring-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:p="http://www.springframework.org/schema/p"
    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"
    default-lazy-init="false">

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="consumer-of-helloworld-app"  />

    <!-- 使用multicast广播注册中心暴露发现服务地址 -->
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />

    <!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
    <dubbo:reference id="demoService" interface="com.gensoft.rpc.zz.IHelloWorld" />

</beans>

消费方调用

ServletContext sc = request.getSession().getServletContext();
ApplicationContext ac1 = WebApplicationContextUtils.getRequiredWebApplicationContext(sc);
IHelloWorld iHelloWorld = (IHelloWorld)ac1.getBean("demoService");
String bookName = iHelloWorld.getBook(book);
System.out.println(bookName);

大功告成~

时间: 2024-10-22 08:09:49

dubbo+zookeeper+spring搭建框架的相关文章

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

dubbo是一个分布式服务框架,是阿里巴巴开发的一个解决RPC远程调用优化的核心框架,包含负载均衡算法,能提高分布式系统的性能. zookeeper是hadoop的一个子项目,主要用来解决分布式系统的数据一致性.状态同步.服务集群管理.配置同步等一系列的问题.本文使用zookeeper作为dubbo的服务注册中心. 技术细节方面: dubbo:http://www.dubbo.io zookeeper:http://www.ibm.com/developerworks/cn/opensource

【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇-Dubbo基于Zookeeper实现分布式服务(转)

Dubbo与Zookeeper.Spring整合使用 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载. 一:单机模式安装zookeeper 1,下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载后解压即可,进入E:\zookeeper-3.3.6\zookeeper-3.3.6

【Dubbo实战】 Dubbo+Zookeeper+Spring整合应用篇(二)

Dubbo与Zookeeper.Spring整合使用 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载. 一:单机模式安装zookeeper 1,下载zookeeper注册中心,下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ 下载后解压即可,进入E:\zookeeper-3.3.6\zookeeper-3.3.6

[Dubbo实战]dubbo + zookeeper + spring 实战 (转)

这里最熟悉的就是spring了,项目中应用很多.dubbo是一个实现分布式的框架,zookeeper是注册中心.给我的感觉就像多对多关系的两者表,zookeeper相当于第三张表维护关系.下面通过一个小程序加深认识. 一.安装zookeeper 去官网下载zookeeper, 然后解压到目录中,我解压到了E:\zookeeper-3.3.6,在启动zookeeper之前,首先找到conf文件夹下的 zoo_sample.cfg,重新命名为zoo.cfg,网上说zookeeper启动的时候这个文件

《SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用》

为什么要使用分布式系统? 容错 减少延迟/提高性能 可用性 负载均衡 总而言之,其实目的只有一个,"用户体验". 什么是分布式系统? 分布式系统是由使用分发中间件连接的自治计算机组成的网络.它们有助于共享不同的资源和功能,为用户提供单一且集成的连贯网络. 搭建一个简单的分布式系统一.在服务器(虚拟机)上安装Zookeeper(我这里使用Docker安装) (一).去docker-cn.com获取镜像加速地址 (二).使用docker pull registry.docker-cn.co

dubbo+zookeeper+spring+springMVC+mybatis的使用

读前声明:由于本人水平有限,有错误或者描述不恰当的地方请指出来,勿喷!第一次写博客. 源码下载链接:http://files.cnblogs.com/files/la-tiao-jun-blog/dubbo%E4%BE%8B%E5%AD%90.rar 使用条件: eclipse-jee-luna-SR2-win32-x86_64 jdk1.7,Apache Tomcat v8.0,maven zookeeper3.4.6 dubbo-2.4.10 dubbo-monitor-simple-2.5

dubbo+zookeeper+spring实例

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应. 第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡. (1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也

160719、Spring + Dubbo + zookeeper (linux) 框架搭建

转载一篇博客,写得不错(至少我参考一下搭建成功了) 转载地址:http://my.oschina.net/wangt10/blog/522799 dubbo简介 节点角色说明: Provider: 暴露服务的服务提供方. Consumer: 调用远程服务的服务消费方. Registry: 服务注册与发现的注册中心. Monitor: 统计服务的调用次调和调用时间的监控中心. Container: 服务运行容器. 调用关系说明: 0. 服务容器负责启动,加载,运行服务提供者. 1. 服务提供者在启

dubbo入门介绍及结合spring搭建(源码放送)

前言 关于dubbo的介绍网上有很多博文有入门级的说明,但在这里,将会提供给大家dubbo的入门介绍,dubbo结合spring项目的简单搭建,以及提供demo源代码的免费下载. dubbo的官方网址是:http://dubbo.io/ dubbo框架使用的demo源码下载地址:http://download.csdn.net/detail/fighterandknight/9514559 dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及