7、Dubbo-配置(2)
重试次数
通常配合timeout超时设置进行配置
<dubbo:reference interface="com.cr.service.UserService" id="userService" timeout="">
</dubbo:reference>
<dubbo:service interface="com.cr.service.UserService" ref="userServiceImpl">
<dubbo:method name="getUserAddressList" timeout=""></dubbo:method>
</dubbo:service>
进行测试
public class UserServiceImpl implements UserService {
@Override
public List<UserAddress> getUserAddressList(String userId) {
System.out.println("正在执行请求!!!");
UserAddress address1 = new UserAddress(, "安徽合肥蜀山区", "", "程老师", "否", "");
UserAddress address2 = new UserAddress(, "安徽合肥包河区", "", "程老师", "否", "");
List<UserAddress> list = new ArrayList<UserAddress>();
list.add(address2);
list.add(address1);
try {
Thread.sleep();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
<dubbo:reference interface="com.cr.service.UserService" id="userService"
timeout="" retries=""> </dubbo:reference>
<!-- 、暴露服务 -->
<!-- interface是只想接口,ref属性是指定接口的实现 -->
<dubbo:service interface="com.cr.service.UserService" ref="userServiceImpl">
<dubbo:method name="getUserAddressList" timeout=""></dubbo:method>
</dubbo:service>
重试了四次才进行连接成功:
如果服务端口多的话,会重试进行其他提供者的服务进行连接
<dubbo:protocol name="dubbo" port="20080"></dubbo:protocol> <dubbo:protocol name="dubbo" port="20081"></dubbo:protocol>
<!-- 、暴露服务 -->
<!-- interface是只想接口,ref属性是指定接口的实现 -->
<dubbo:service interface="com.cr.service.UserService" ref="userServiceImpl">
<dubbo:method name="getUserAddressList" timeout=""></dubbo:method>
</dubbo:service>
多版本
- 在低压力时间段,先升级一半提供者为新版本
- 再将所有消费者升级为新版本
- 然后将剩下的一半提供者升级为新版本
测试:
<dubbo:service interface="com.cr.service.UserService" ref="userServiceImpl" version="1.0.0">
<dubbo:method name="getUserAddressList" timeout=""></dubbo:method>
</dubbo:service>
<bean id="userServiceImpl" class="com.cr.service.impl.UserServiceImpl"></bean> <dubbo:service interface="com.cr.service.UserService" ref="userServiceImpl2" version="2.0.0">
<dubbo:method name="getUserAddressList" timeout=""></dubbo:method>
</dubbo:service>
<bean id="userServiceImpl2" class="com.cr.service.impl.UserServiceImpl2"></bean>
<dubbo:reference interface="com.cr.service.UserService" id="userService"
timeout="" retries="" version="1.0.0">
</dubbo:reference>
此时的测试结果:
主程序重试未成功连接:
服务提供者打印:
7、Dubbo-配置(2)的更多相关文章
- Dubbo配置方式详解
Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是阿里巴巴 SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次 ...
- DUBBO配置规则详解
研究DUBBO也已经大半年了,对它的大部分源码进行了分析,以及对它的内部机制有了比较深入的了解,以及各个模块的实现.DUBBO包含很多内容,如果想了解DUBBO第一步就是启动它,从而可以很好的使用它, ...
- [转载,感觉写的非常详细]DUBBO配置方式详解
[转载,感觉写的非常详细]DUBBO配置方式详解 原文链接:http://www.cnblogs.com/chanshuyi/p/5144288.html DUBBO 是一个分布式服务框架,致力于提供 ...
- dubbo配置清单-超详细版
服务发布者 在服务发布者的springboot主配置文件application.properties中添加dubbo配置 #dubbo服务名 spring.dubbo.application.name ...
- dubbo配置约束
此处主要记录dubbo配置的一些约束规则. 采用官网提供的原文,描述如下: 一.XML配置(官网原文) 以 timeout 为例: 方法级优先,接口级次之,全局配置再次之. 如果级别一样,则消费方优先 ...
- dubbo配置指南
dubbo配置指南 SLA配置在此完成!Service Layer Agreement ApplicationConfig 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者. Regist ...
- Dubbo配置注册中心设置application的name使用驼峰命名法存在的隐藏项目启动异常问题
原创/朱季谦 首先,先提一个建议,在SpringBoot+Dubbo项目中,Dubbo配置注册中心设置的application命名name的值,最好使用xxx-xxx-xxx这样格式的,避免随便使用驼 ...
- 10 Dubbo 配置实战
Dubbo 配置实战 快速入门 dubbo 建议看这篇文章是在学习了快速入门 dubbo 那篇文章的基础上来学习 配置说明 文档地址 https://dubbo.apache.org/zh/index ...
- dubbo 配置解析
1.dubbo 常用配置 <dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心.eg.<dub ...
- dubbo配置
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
随机推荐
- Azure 应用服务中的 API 应用、ASP.NET 和 Swagger 入门
学习内容: 如何通过 Visual Studio 2015 中的内置工具在 Azure 应用服务中创建和部署 API 应用. 如何使用 Swashbuckle NuGet 包动态生成 Swagger ...
- 基于Spark GraphX计算二度关系
关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友 ...
- scrum 项目的基本模式
scrum 项目中有 3 个主要的角色:产品所有者, Scrum 主管和团队成员 产品所有者和团队其他成员一起工作,负责维护生产积压工作表 (production backlog) ,并对表中的项制定 ...
- 解决:IDEA springmvc maven 项目搭建完后没有生成 webcontent 目录
前言:发现项目创建好,配置好,写好测试代码,一看没有 webcontent 目录. 问题: 解决方案: ctrl + alt + Shift + S
- .NET 垃圾回收浅解
在说明垃圾回收的实现机制之前,先说明一下垃圾回收存在的背景. 垃圾回收器(GC)是.NET平台中一个很重要的组成部分,.NET垃圾回收机制降低了编写程序的复杂程度,使程序员不用耗费精力去处理析构,成功 ...
- Inter网关做Team的方法
1.到Inter官网上找到相关驱动程序 2.在安装过程中,要求勾选高级网络 3.驱动安装完成后,打开网卡的属性窗口,在“分组”选项卡中,勾中,并输入Team名称 4.选择需要做Team的网卡 5.选择 ...
- Mybatis学习第二天——mapper的动态代理
传统的Dao层开发通过接口与实现类的方式,Mybatis中通过mapper动态代理是需要定义接口. 1.传统Dao层封装 那么可以将公共资源提取出来,剩余的封装成方法来实现.下面是UserDaoImp ...
- android studio新建项目时出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
android studio更新后创建新项目时出现以下错误 可以用Build->Rebuild Project解决,但这个方法只是临时的,重新打开项目还是会报错 所以用另一种方法: 在app下的 ...
- 2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因)
参考精通Python网络爬虫实战 首先,针对chinaunix import urllib.request #原书作者提供的测试url url="http://bbs.chinaunix.n ...
- linux命令大全比较完整
转:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是 ...