Dubbo服务和EDAS服务互调
来源:互联网 发布:贵金属行情分析软件 编辑:程序博客网 时间:2024/06/06 05:09
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中的服务: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="dubbo"port="20880"/>
<!-- 声明需要暴露的服务接口-->
<dubbo:serviceinterface="com.ouyeel.dubbo.test.TestService"ref="testService"group="test" version="2.0.0"/>
<beanid="testService"class="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"/>
- Dubbo服务和EDAS服务互调
- dubbo服务
- dubbo服务
- Dubbo-----运行Dubbo服务
- 微服务架构Spring Cloud和Dubbo 还有EDAS
- dubbo和zookeeper,spring结合实现服务
- Dubbo服务提供者和消费者配置
- 基于springboot和dubbo搭建SOA服务
- Dubbo服务只订阅和只注册
- Dubbo暴露服务和引用服务的实现源码分析
- dubbo通过注解方式暴露服务和引用服务
- Dubbo暴露服务和引用服务的实现源码分析
- 商城项目-dubbo,框架整合,dubbo发布和引用服务
- Dubbo > Dubbo服务化改造
- Dubbo logo服务框架 Dubbo
- 注释有问题的dubbo服务和 本地启动dubbo服务的网络IP问题
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- Dubbo服务环境搭建以及Dubbo服务的提供者和消费者配置详解
- bam文件softclip , hardclip ,markduplicate的探究
- fabirc1.0商业正式版本源码解析11---peer的Admin和Endorser服务
- 常用SQL查询语句
- AtCoder Beginner Contest 072 ABCD C++&&Python3
- LinkedHashMap分析
- Dubbo服务和EDAS服务互调
- jstl时间转换
- Mac系统常用命令
- JAVA 并发编程随笔【五】Thread线程创建及运行线程任务
- HDOJ HDU 1012 u Calculate e
- Mysql Binlog三种格式详细介绍
- LeetCode: Add Two Number(已解原先出现的问题)
- Python的构造函数和析构函数 对象的变量和类的变量不一样
- spring整合redis