当一个服务调用另一个远程服务出现错误时的外观

  Dubbo提供了多种容错方案,默认值为failover(重试)

  1)、Failover Cluster(默认)

  失败自动切换,当出现失败,重试其他服务器,通常用于读操作,但重试会带来更长延迟,可以通过属性retries来设置重试次数(不含第一次)

  2)、Failfast Cluster

  快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作,比如新增记录。

  3)、Failsafe Cluster

  失败安全,出现异常时,直接忽略,不做任何操作,通常用于写入审计日志等操作。

  4)、Failback Cluster

  失败自动重发,后台记录失败请求,定时重发,用于一些一定要成功的服务调用,例如消息通知等。

  5)、Forking Cluster

  并行调用多个服务器,只要有一个成功即返回,用于实时性较高的读操作,但需要浪费更多的服务资源,可通过forks=“2”来设置最大并行数量。

  6)、Broadcast Cluster

  广播调用所有提供者,逐个调用,任意一台报错则认为这次调用是失败的,适用于类似于同步的效果,例如通知所有提供者更新缓存或日志等本地资源信息。

*配置方式(二选其一即可)

  服务消费者

     @Reference(cluster = "failsafe")
private UserService userService;

  服务提供者

 @Component  //org.springframework.stereotype.Component
@Service(cluster = "failsafe") //com.alibaba.dubbo.config.annotation.Service
public class UserServiceImpl implements UserService {
...
}

Dubbo服务容错的更多相关文章

  1. Dubbo服务容错(整合hystrix)

    简介:Hystrix旨在通过控制那些访问远程系统.服务和第三方库的节点从而对延迟和故障提供更强大的容错能力,Hystrix具备拥有回退机制和断路器功能的线程和信号隔离.请求缓存和请求打包以及监控和配置 ...

  2. Dubbo 服务容错Hystrix

    一.服务者 1.pom <dependency> <groupId>org.springframework.cloud</groupId> <artifact ...

  3. Dubbo服务集群容错

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  4. dubbo服务提供与消费

    一.前言 项目中用到了Dubbo,临时抱大腿,学习了dubbo的简单实用方法.现在就来总结一下dubbo如何提供服务,如何消费服务,并做了一个简单的demo作为参考. 二.Dubbo是什么 Dubbo ...

  5. Dubbo服务集群、服务启动依赖检查

    一.什么叫Dubbo服务集群 指把同一个服务部署到多台机器,然后通过Dubbo服务集群的容错配置实现一台机器的服务挂掉之后自动切换到另外的一台机器 二.Dubbo服务集群容错配置--集群容错模式 标签 ...

  6. Dubbo学习笔记10:Dubbo服务消费方启动流程源码分析

    同理我们看下服务消费端启动流程时序图: 在<Dubbo整体架构分析>一文中,我们提到服务消费方需要使用ReferenceConfig API来消费服务,具体是调用代码(1)get()方法来 ...

  7. Dubbo服务降级设置

    dubbo降级服务     dubbo开发中,通常是微服务架构,那么在使用过程中可能会遇到多种问题: 1)多个服务之间可能由于服务没有启动或者网络不通,调用中会出现远程调用失败; 2) 服务请求过大, ...

  8. Dubbo服务注册与发现

    目录 一.分布式基本理论 1.1.分布式基本定义 1.2 架构发展演变 1.3.RPC简介 二.Dubbo理论简介 三.Dubbo环境搭建 3.1 Zookeeper搭建 3.2 Dubbo管理页面搭 ...

  9. dubbo服务治理框架

    Dubbo的概述 1.1. Dubbo的背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. ...

随机推荐

  1. 洛谷 P2420 让我们异或吧 解题报告

    P2420 让我们异或吧 题目描述 异或是一种神奇的运算,大部分人把它总结成不进位加法. 在生活中-xor运算也很常见.比如,对于一个问题的回答,是为1,否为0.那么: (A是否是男生 )xor( B ...

  2. wordcloud词云

    借鉴别人的一个小例子,快速生成词云的代码: from wordcloud import WordCloud f = open(u'txt/AliceEN.txt','r').read() wordcl ...

  3. Gym 100971J-Robots at Warehouse

    题目链接:http://codeforces.com/gym/100971/problem/J Vitaly works at the warehouse. The warehouse can be ...

  4. 解决React首屏加载白屏的问题

    众所周知,在项目中如果在资源加载请求还未完成的时候,由于阻塞机制,会出现首页白屏的问题,产生很差的用户体验.本文以react为例,提供一个解决方法. 解决原理:使用 onreadystatechang ...

  5. 使用sass切图

    明日复明日,明日何其多!我生待明日,万事成蹉跎!ruby挺可爱的.没有进入工程项目中使用sass. 尝试是一件快乐的事情.在页面中直接引进编译出来的css即可.

  6. 解决QtCreator中文乱码

    在QT的菜单栏”Tools“ -> "Options" -> "Behavior" -> "File Encoding" ...

  7. LoadRunner进行参数化的九种方式取值和连接数据库取值

    一.连接mysql数据库取值 1.首先安装odbc驱动 链接: https://pan.baidu.com/s/1WAYd4ygQqIrbB08S01hSkg 提取码: gdfs 2.操作步骤如下图: ...

  8. koa的洋葱圈模型

    拿以下这段代码为例: const Koa = require('koa'); const app = new Koa(); // x-response-time app.use(async (ctx, ...

  9. ansible指路篇-安装及基本命令使用

    ansible指路篇-安装及基本命令使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是ansible ansible是新出现的自动化运维工具,基于Python开发,集合 ...

  10. CM记录-选择合适的硬件

    hadoop的运行环境---hadoop/jvm/os/hw 原则1:主节点的可靠性要好于从节点:NameNode(Yarn-ResourceManager).DataNode(NodeManager ...