zoukankan      html  css  js  c++  java
  • dubbo demo实现

    粗略的写了一个dubbo的demo,使用了alibaba的dubbo,还有zookeeper来做配置中心

    参考资料地址: http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-%E5%85%A5%E9%97%A8

    http://wiki.corp.qunar.com/display/devwiki/1.Hello+Dubbo#1.HelloDubbo-%E9%80%9A%E8%BF%87API%E6%9A%B4%E9%9C%B2%E6%9C%8D%E5%8A%A1

    需要依赖的jar包

    首先如果使用Spring的话,需要引入Spring的jar包: spring中使用了commons-logging<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    </dependency>然后是引入alibab的dubbo的jar包,这个包需要JDK1.5+
    而且用到了log4j:
    建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端
    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.3.4</version>
    </dependency>
    <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
    </dependency>
    zookeeper的依赖包:支持zkclient和curator两种Zookeeper客户端实现:从2.2.0版本开始缺省为zkclient实现,以提升zookeeper客户端的健状性。从2.3.0版本开始支持可选curator实现。

    <dependency>    <groupId>org.apache.zookeeper</groupId>    <artifactId>zookeeper</artifactId>    <version>3.3.3</version></dependency><dependency>    <groupId>com.github.sgroschupf</groupId>    <artifactId>zkclient</artifactId>    <version>0.1</version></dependency>
    provider的dubbo配置部分:<?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="hello-world-app"/>

    <!- 使用zookeeper注册中心暴露服务地址 ->
    <dubbo:registry address="zookeeper://zk.dev.corp.qunar.com:2181"/>

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

    <!- 声明需要暴露的服务接口 ->
    <dubbo:service interface="com.qunar.zhao.provider.api.IHelloWorld" ref="helloWorldService"/>

    <!- 和本地bean一样实现服务 ->
    <bean id="helloWorldService" class="com.qunar.zhao.dubbbo.HelloWorldServiceImp.HelloWorldService"/>

    </beans>

    consumer的dubbo的配置部分:
    <?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="consumer-of-helloworld-app" />

    <!- 使用multicast广播注册中心暴露发现服务地址 ->
    <dubbo:registry address="zookeeper://zk.dev.corp.qunar.com:2181" />

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

    </beans>
    jar包的安装:http://www.cnblogs.com/zhaoxinshanwei/p/5948561.html

  • 相关阅读:
    活动安排问题
    CodeForces
    HDU
    HDU
    HihoCoder
    二分签到题--二分入门
    并查集,最小生成树
    spark和 mapreduce的比较
    SparkSQL--数据源Parquet的加载和保存
    SparkSQL -DataFrame与RDD的互转
  • 原文地址:https://www.cnblogs.com/zhaoxinshanwei/p/5948739.html
Copyright © 2011-2022 走看看