Dubbo集成步骤

dubbo协议实现与webservice一样的效果,用于服务调用之间的接口。dubbo可在中间实现真正意义上的中间调用管理,是一个中间管理系统。

demo:http://www.devnote.cn/download/182

同步服务端集成

同步服务端统一试用dubbo服务端集成到业务系统。目前的场景试用的是dubbo协议。

1、加入dubbo jar包(附件2.4.10-jar.zip)

2、在spring配置文件中加入dubbo provider配置

<?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"    xmlns:aop="http://www.springframework.org/schema/aop"     xmlns:context="http://www.springframework.org/schema/context"    xsi:schemaLocation="http://www.springframework.org/schema/beans               http://www.springframework.org/schema/beans/spring-beans.xsd               http://www.springframework.org/schema/aop              http://www.springframework.org/schema/aop/spring-aop-3.0.xsd              http://www.springframework.org/schema/context              http://www.springframework.org/schema/context/spring-context-3.0.xsd              http://code.alibabatech.com/schema/dubbo               http://code.alibabatech.com/schema/dubbo/dubbo.xsd">                  <!-- 省略无关配置 -->        <!-- 提供方应用信息,用于计算依赖关系 -->    <dubbo:application name="dubbo-app" />    <!-- 使用zookeeper注册中心暴露服务地址 -->    <dubbo:registry address="zookeeper://IP:PORT"        check="false" />    <!-- 用dubbo协议在20880端口暴露服务 -->    <dubbo:protocol name="dubbo" port="20880" />    <!-- 声明需要暴露的服务接口 -->    <dubbo:service interface="com.dubbo.provider.service.DubboService"        ref="dubboService" protocol="dubbo" retries="0" timeout="100000" />    <!-- 和本地bean一样实现服务 -->    <bean id="dubboService" class="com.dubbo.provider.service.impl.DubboServiceImpl" /></beans>

<dubbo:application/> :应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。
  <dubbo:service/> :服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注   册到多个注册中心。
  <dubbo:protocol/> :协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。
  <dubbo:registry/> :注册中心配置,用于配置连接注册中心相关信息。

3、把相应的外部接口和所用到的bean(bean或bean的基类要实例化)打成一个jar包


同步客户端集成

1、客户端也许加入相应的dubbojar(2.4.10-jar.zip)

2、加入dubbo client配置

<?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="dubbo-custom-app" />    <!-- 使用zookeeper注册中心暴露发现服务地址 -->    <dubbo:registry address="zookeeper://IP:PORT"        check="false" />    <dubbo:monitor protocol="registry" />    <dubbo:protocol name="dubbo" port="20880" />    <!-- 生成远程服务代理,可以和本地bean一样使用dubboService -->    <dubbo:reference id="dubboService"        interface="com.dubbo.provider.service.DubboService" protocol="dubbo"        retries="0" timeout="10000" check="false">        <!--<dubbo:method name="insertOrUpdateCustomer" async="true" /> -->    </dubbo:reference></beans>

<dubbo:reference/>  引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。

3、引入服务方提供的接口和bean打的jar包


服务方实现读写分离

若服务方要实现读写分离,可参考如下方案:

服务端的配置

<!-- 声明需要暴露的服务接口 --><!--读服务配置 --><dubbo:service group="editDevnoteByClient"  interface="com.devnote.webService.server.TestService" ref="TestService"  protocol="dubbo" retries="0" timeout="100000" />

<!--写服务配置 --><dubbo:service group="queryDevnoteByClient"  interface="com.devnote.webService.server.TestService" ref="TestService"
  protocol="dubbo" retries="0" timeout="100000" />

<!-- 和本地bean一样实现服务 --><bean id="TestService" class="com.devnote.webService.server.TestServiceImpl" />

客户端的配置

<!-- 生成远程服务代理,可以和本地bean一样使用dubboService --><!--读服务配置 --><dubbo:reference id="testServiceEdit" group="editDevNoteByClient"    listener="" interface="com.devnote.webService.server.TestService"    protocol="dubbo" retries="0" timeout="10000" check="false"></dubbo:reference>

<!--写服务配置 --><dubbo:reference id="testServiceReader" group="queryDevNoteByClient"    interface="com.devnote.webService.server.TestService" protocol="dubbo"    retries="0" timeout="10000" check="false"></dubbo:reference>

 



  注意点:

  1. 服务端与客户端配置的【zookeeper注册中心暴露服务地址】是由dubbo服务方提供

    <dubbo:registry address="zookeeper://IP:PORT" check="false"/>
  2. 用dubbo协议在20880端口暴露服务

    name:应用方自己暴露在dubbo方的服务名称
    port:类似于自己的tomcat端口,当你的系统有多个服务并分别有应用dubbo时,每个服务都要设置不一样                      的端口,否则会系统会报端口冲突错误

    <dubbo:protocol name="dubbo" port="20880" />
  3. 服务端与客户端通过接口来识别调用
    <dubbo:service interface="com.dubbo.provider.service.DubboService"    ref="dubboService" protocol="dubbo" retries="0" timeout="100000" />
  4. 如果服务方要实现读写分离则是通过group和接口两个来识别调用
    <dubbo:service group="editDubboByClient"    interface="com.devnote.webService.server.DubboService" ref="TestService"
        protocol="dubbo" retries="0" timeout="100000" />
时间: 2024-11-10 12:08:39

Dubbo集成步骤的相关文章

IOS JPush 集成步骤(极光远程推送解决方案,支持android和iOS两个平台)

●  什么是JPush ●  一套远程推送解决方案,支持android和iOS两个平台 ●  它能够快捷地为iOS App增加推送功能,减少集成APNs需要的工作量.开发复杂 度 ●  更多的信息,可以参考JPush官方网站:https://www.jpush.cn ●  集成iOS SDK的步骤可以参考 ●  http://docs.jpush.cn/pages/viewpage.action?pageId=2621727 JPush的集成步骤 注册帐号,创建应用 填写iOS App的必要信息

Google Admob移动广告快速集成步骤

Google Admob移动广告快速集成步骤 第一步:引入依赖包 //admob广告 implementation 'com.google.android.gms:play-services-ads:17.2.0' 第二步:在清单文件中设置appID <application <!-- admob配置 --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" <!-- 注

ssm集成步骤

1.集成spring   1.1 使用myeclipse集成spring 核心包,持久化包,web包  1.2 修改web.xml 添加application监听器,在application(应用)启动时,同时启动spring <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  &l

dubbo集成zookeeper rpc远程调用

注:下面使用dubbo依赖的是zookeeper注册中心,这里没有详细的介绍.在配置之前,请自行准备好zookeeper环境. 后续如果写zookeeper的配置会补放链接 添加Gradle依赖 compile group: 'com.alibaba', name: 'dubbo', version: '2.5.10'//dubbo compile group: 'org.apache.zookeeper', name: 'zookeeper', version: '3.3.3'//zookee

dubbo集成spring

1.项目依赖 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>2.7.5</version></dependency> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId&

支付宝集成步骤

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px "PingFang SC"; color: #eb905a } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color

友盟分享SDK集成步骤

1.官方注册appID. 2.menifest添加和声明umeng相关的activity以及appKey. 3. // 首先声明一个controller变量,由友盟服务工厂类直接取得友盟社交服务. mController = UMServiceFactory.getUMSocialService("com.umeng.share",  RequestType.SOCIAL); // 然后有这个友盟的社交服务设置分享的内容和分享的图片以及链接地址 mController.setShare

iOS极光推送集成步骤

1.下载SDK,导入Xcode 2.在苹果开发者中心建立AppId与bundleID进行关联,注意勾选推送功能 3.在苹果开发者中心建立推送证书 4.在极光后台建立应用且上传推送证书 5.建立描述文件(此时需要建立普通证书与描述文件关联) 6.配置证书和描述文件到Xcode中 7.开始推送

iOS中的zxing集成步骤

参照网上各大神文章,自己总结了下如下,欢迎大家指正与交流!(主参照:http://blog.csdn.net/brokge/article/details/9045629) 1. 到 github下载开源库 (https://github.com/zxing/zxing) 2. 得到代码后只需要 cpp部分和iphone部分,如下: 3. 继续剪裁 cpp 和iphone文件夹,如下: 4.将修改好的zxing文件夹全部添加到我们的目标工程中,并且把ZXingWidget.xcodeproj文件