容器机制分析

FailoverClusterInvoker

(dubbo默认的容错机制)失败重试机制。失败自动切换,当出现失败,重试其它服务器。支持重试的,查询接口,支持幂等的写接口

FailsafeClusterInvoker

如果调用失败的化,不用抛出错误,直接打印一个异常log日志就可以了。一般来说,你要是写一些类似与远程日志数据,审计数据,或者是一些可有可无的,可以丢失的一些数据

ForkingClusterInvoker

就是会并行的调用几个服务,如果谁能先返回结果,就用谁的。cpu负载过高。

FailfastClusterInvoker

一旦调用的时候遇到了异常,直接抛出异常,不在进行重试了。

FailbackClusterInvoker

如果调用失败了,会把这个请求记录存储起来。后续根据时间轮的策略,再去隔一段时间去重试。默认是3次调用以后就会进行存储到失败列表中

BroadcastClusterInvoker

广播的形式的。所有的invoker服务实例都会接收到请求

使用方式

注解使用
@Reference(cluster = "failsafe") // consumer
@Service(cluster = "failsafe")// provider
xml配置使用
<dubbo:service cluster="failfast" />
或:
<dubbo:reference cluster="failfast" />

dubbo的常用容错机制相关推荐

  1. Apache Dubbo集群容错

    在分布式应用中(微服务),通常会对服务进行集群部署来保障服务高可用.dubbo用于服务远程调用,远程服务是有可能出现异常情况的,如网络抖动,服务短暂不可用等情况,需要自动容错,服务降级或者mock测试 ...

  2. Java编程解密-Dubbo负载均衡与集群容错机制

    1 Dubbo简介 Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. 作为一个轻量级RPC框架,Du ...

  3. Dubbo的容错机制原理

     本文是基于 apache dubbo 2.7.0 版本的源码和参考官网的集群章节而成.  为了避免单点故障,现在的应用通常至少会部署在两台服务器上.对于一些负载比较高的服务,会部署更多的服务器.这样 ...

  4. ack是什么,如何使用Ack机制,如何关闭Ack机制,基本实现,STORM的消息容错机制,Ack机制

    1.ack是什么 ack 机制是storm整个技术体系中非常闪亮的一个创新点. 通过Ack机制,spout发送出去的每一条消息,都可以确定是被成功处理或失败处理, 从而可以让开发者采取动作.比如在Me ...

  5. 深入理解 Flink 容错机制

    本文作者:Paul Lin 本文链接: 2019/07/28/深入理解-Flink-容错机制/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议.转载请注 ...

  6. 25.Flink监控\什么是Metrics\Metrics分类\Flink性能优化的方法\合理调整并行度\合理调整并行度\Flink内存管理\Spark VS Flink\时间机制\容错机制等

    25.Flink监控 25.1.什么是Metrics 25.2.Metrics分类 25.2.1.Metric Types 25.2.2.代码 25.2.3.操作 26.Flink性能优化 26.1. ...

  7. Flink核心篇,四大基石、容错机制、广播、反压、序列化、内存管理、资源管理...

    Flink基础篇,基本概念.设计理念.架构模型.编程模型.常用算子 大纲: 1.Flink的四大基石包含哪些? 2.讲一下Flink的Time概念? 3.介绍下Flink窗口,以及划分机制? 4.介绍 ...

  8. Dubbo基础及原理机制

    1. 什么是Dubbo? Dubbo是 阿里巴巴公司开源的一个高性能RPC 分布式服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成,现已成为 Apa ...

  9. Dubbo的原理与机制

    ​ Dubbo 前言 在介绍Dubbo之前先了解一下基本概念: Dubbo是一个RPC框架,RPC,即Remote Procedure Call(远程过程调用),相对的就是本地过程调用,在分布式架构之 ...

最新文章

  1. 手把手教你上手python库pydbgen(附代码、安装地址)
  2. 为什么static成员必须在类外初始化
  3. 孔兵 库卡机器人_名企零距离 专访库卡首席执行官 孔兵先生
  4. 使用keepalived加lvs做负载均衡,访问后端的服务器,2分钟后超时,需要重新登录...
  5. android tomtom gps location,TomTom智能地图修正 规避不能走的路
  6. Android中文API(97)—— ContextMenu
  7. mysql忘记命令后半部分_Mysql 5 易忘的命令
  8. IQ测试(jzoj 5048)
  9. git rebase 的使用
  10. eclipse字体颜色设置
  11. 用原生js做单页应用
  12. 简简单单认识call,apply,bind方法
  13. signature=e77a95aa96da4f165d75bdbdf33ba079,来用百度密语吧!!!
  14. 面向对象之抽象类与接口【Java】
  15. T1005: 地球人口承载力估计(信息学一本通C++)
  16. Unity相机设置CullingMask
  17. android 适配红米,小米MIUI放出Android Q适配计划,11款手机参与,包括红米Note 7
  18. MATLAB小知识(三)——输出矩阵到TXT
  19. catia利用宏批量改名的方法_catia怎么批量改名-catia利用宏批量改名的方法 - 河东软件园...
  20. IOS开发——获取局域网IP

热门文章

  1. HighlightingSystem(边缘发光插件)的简单使用(一)
  2. 一个sql server2005分页的存储过程
  3. 数学与泛型编程(6)编程的基本概念
  4. tcping检查服务器端口是否开放
  5. 亚马逊 广告接口对接 amazon advertising
  6. create与oncreate的区别
  7. pthread线程库使用介绍
  8. RealmObject-粗心操作引发的巨坑
  9. 5.3 千亿访问量下的开放平台技术揭秘
  10. Carla车辆周围添加障碍物