HSF调用Dubbo

1.HSF调用Dubbo

1.1 EDAS项目和Dubbo项目要求

EDAS只支持war包形式的Web项目,通过Ali-tomcat启动

Dubbo项目没有限制,这里采用war包,通过普通tomcat启动,版本tomcat8

1.2 调用方式

方法:dubbo服务注册到zk,hsf从zk中调用dubbo服务

详解:

1.2.1在当前应用中加入不低于1.5.1的edas-sdk依赖

<dependency>
    <groupId>com.alibaba.edas</groupId>
    <artifactId>edas-sdk</artifactId>
    <version>1.5.1</version>
</dependency>

1.2.2指定zookeeper注册/订阅中心地址。指定方式主要包含以下2种:

  a.启动JVM参数配置:

   -Dhsf.registry.address=zookeeper://IP地址:端口

  b.XML指定方式(推荐):

  <hsf:registry address="zookeeper://IP地址:端口" />

1.2.3指定 ZooKeeper地址后,HSF应用若需要启用双注册/订阅,还需要设置调用参数invokeType

① 只注册/订阅ConfigServer 中的服务:www.thqpt.com invokeType="hsf"

② 只注册/订阅ZooKeeper 中的服务: invokeType="dubbo"

③ 双订阅/注册: invokeType="hsf,dubbo"

1.2.4创建应用时,需要选择不低于3.0版本的容器,然后上传启动即可。

说明:这里容器的版本是taobao-hsf.sar版本,在taobao-hsf.sar中version.properties文件可以查看sar包版本,如下:

sar=edas.public.sar.V3.0

1.2.5具体demo

1.Dubbo配置(服务端配置)

<!--提供方应用信息,用于计算依赖关系-->
<dubbo:applicationname="dubbo-provider"  />
<!-- 使用zookeeper注册中心暴露服务地址-->
<dubbo:registryaddress="zookeeper://10.70.95.102:2181"/>
<!-- 用dubbo协议在20880端口暴露服务-->
<dubbo:protocolname=www.fencaiyule.cn/ www.thqpt.com "dubbo"port="20880"/>
<!-- 声明需要暴露的服务接口-->
<dubbo:serviceinterface="com.ouyeel.dubbo.test.www.dongfan178.com/ TestService"ref="testService"group="test" version="2.0.0"/>
<beanid="testService"class="com.www.huachengj1980.com ouyeel.dubbo.test.impl.TestServiceImpl"/>

注:hsf调用dubbo服务,dubbo提供服务时协议需要为dubbo,其他协议暂不支持

2.HSF配置(客户端配置)

<!-- hsf从zk中获取dubbo提供的服务-->
<hsf:registryaddress="zookeeper://10.70.95.102:2181"/>
<hsf:consumerid="testService"interface="com.ouyeel.dubbo.test.TestService"group="test"
              version="2.0.0"invokeType="dubbo"></hsf:consumer>

2.Dubbo调用HSF

2.1 EDAS项目和Dubbo项目要求

EDAS只支持war包形式的Web项目,通过Ali-tomcat启动

Dubbo项目没有限制,这里采用war包,通过普通tomcat启动,版本tomcat8

2.2调用方式

方法:将hsf服务注册至zk中,dubbo从zk中调用hsf服务

详解:

hsf提供服务,充当服务端;dubbo消费hsf服务,充当消费端。服务端配置步骤如下:

2.2.1在当前应用中加入不低于1.5.1的edas-sdk依赖

<dependency>
    <groupId>com.alibaba.edas</groupId>
    <artifactId>edas-sdk</artifactId>
    <version>1.5.1</version>
</dependency>

2.2.2指定zookeeper注册/订阅中心地址。指定方式主要包含以下2种:

  a.环境变量指定:

   -Dhsf.registry.address=zookeeper://IP地址:端口

  b.XML指定方式(推荐):

  <hsf:registry address="zookeeper://IP地址:端口" />

2.2.3指定 ZooKeeper地址后,HSF应用若需要启用双注册/订阅,还需要设置调用参数invokeType

④ 只注册/订阅ConfigServer 中的服务:invokeType="hsf"

⑤ 只注册/订阅ZooKeeper 中的服务: invokeType="dubbo"

⑥ 双订阅/注册: invokeType="hsf,dubbo"

2.2.4创建应用时,需要选择不低于3.0版本的容器,然后上传启动即可。

说明:这里容器的版本是taobao-hsf.sar版本,在taobao-hsf.sar中version.properties文件指定该pandora版本,如下:

sar=edas.public.sar.V3.0

dubbo配置参考网址:http://dubbo.io/user-guide/reference-xmlconf/dubbo-reference.html

2.2.5具体demo

1.HSF配置(服务端配置)

<!-- zk注册中心-->
<hsf:registryaddress="zookeeper://10.70.95.102:2181"/>
<!-- hsf注册服务至zk和edas中心-->
<hsf:providerid="platCityService"interface="com.ouyeel.shgt.service.test.PlatCityService"
              ref="platCityServiceImpl"clientTimeout="20000"version="2.0.0"group="hsf_test"invokeType="dubbo,hsf"></hsf:provider>

2.Dubbo配置(客户端配置)

<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样-->
<dubbo:applicationname="dubbo.consumer"/>
<dubbo:registryaddress="zookeeper://10.70.95.102:2181"timeout="10000000"/>
<!-- dubbo调用zk中hsf服务:HSF提供者提供的服务group和version都指定-->
<dubbo:referenceid="platCityService"interface="com.ouyeel.shgt.service.test.PlatCityService"
                 group="hsf_test"version="2.0.0"check="false"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值