apache camel_Apache Camel中的断路器模式

apache camel

骆驼通常在分布式环境中用于访问远程资源。 远程服务可能由于各种原因和期间而失败。 对于短时间后暂时不可用且可恢复的服务,重试策略可能会有所帮助。 但是某些服务可能会失败或挂起更长时间,从而使调用应用程序无响应且速度缓慢。 防止级联故障和关键资源耗尽的一个好策略是Michael Nygard在Release It!中描述的断路器模式。 书。
断路器是一种有状态模式,用于包装容易发生故障的资源并监视错误。 最初,断路器处于关闭状态 ,并将所有调用传递给包装的资源。 当故障达到某个阈值时,电路将转为打开状态 ,在此状态下它将错误返回给调用方,而无需实际调用包装的资源。 这样可以防止已经发生故障的资源过载。 在这种状态下,我们需要一种机制来检测故障是否已经结束并开始调用受保护的资源。 这就是所谓的半开状态的第三个状态。 在上次故障之后的一定时间后达到此状态。 在这种状态下,调用将传递到受保护的资源,但是调用的结果很重要。 如果调用成功,则假定受保护的资源已恢复,并且电路进入关闭状态 ;如果调用失败,则重置超时,并将电路移回到拒绝所有调用的打开状态 。 这是Martin Fowler 帖子中Circuit Breaker的状态图:

州

骆驼如何实现断路器?

Camel的最新快照版本提供了Circuit Breaker,作为负载均衡器策略。
Camel负载平衡器已经具有用于Round Robin,Random,Failover等的策略,现在还具有CircuiBreaker策略。

这是一个示例负载均衡器,它使用具有2个错误的阈值和1秒的halfOpenAfter超时阈值的断路器策略。 还要注意,此策略仅适用于由MyCustomException引起的错误

new RouteBuilder() {public void configure() {from("direct:start").loadBalance().circuitBreaker(2, 1000L, MyCustomException.class).to("mock:result");}
};

这是使用Spring XML DSL的相同示例:

<route><from uri="direct:start"/><loadBalance><circuitBreaker threshold="2" halfOpenAfter="1000"><exception>MyCustomException</exception></circuitBreaker><to uri="mock:result"/></loadBalance>
</route>

翻译自: https://www.javacodegeeks.com/2014/04/circuit-breaker-pattern-in-apache-camel.html

apache camel

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)

这是一篇基于matlab&#xff0c;数字图像处理的形态学研究与实现的文章&#xff0c;希望能对你产生帮助。我还写了一套《数字图像处理》(冈萨雷斯版本)的学习笔记&#xff0c;欢迎关注我的csdn同名主页&#xff0c;一起学习成长~1.Objectives:1&#xff0e;利用 MATLAB 研究二值…

视频光端机维护三大步骤

视频光端机分为发射端设备和接收端设备&#xff0c;发射端设备和摄像机一样置于室外&#xff0c;工程人员通常是对发射端设备过行维护测试。对于视频光端机的检修工作&#xff0c;我们一般分为三个步骤来进行测试。接下来就由飞畅科技的小编来带大家详细了解下视频光端机维护的…

2021年广东-国家开放大学考试指南(必看)-远程辅助以及微信公众号查题

考前准备工作 一、电脑以及摄像头、浏览器准备 1&#xff1a;一台比较流畅的电脑&#xff0c;这个千万不能马虎&#xff0c;万一考试电脑蓝屏或者卡顿&#xff0c;那是很要命的。 2&#xff1a;摄像头&#xff1a;笔记本有自带的可以用自带的&#xff0c;如果是台式机&#…

飞畅科技——视频光端机用光模块的选型详解

光模块的出现简化了数字视频光端机的设计&#xff0c;我们只要把光模块当作一个具有光电转换功能的部件就可以了。那么针对各种不同的光端机&#xff0c;应该怎样选择相应的光模块呢&#xff1f;接下来就由飞畅科技的小编来为大家详细介绍下视频光端机用光模块的选型&#xff0…

视频监控中的光端机是干什么用的?

现如今&#xff0c;随着社会的进步和经济的发展&#xff0c;人民生活开始富裕&#xff0c;经济宽裕的家庭用户已开始考虑使用监控产品来保护自己&#xff0c;监控已经呈现融入家庭生活的趋势。就数字监控而言&#xff0c;虽然是后起之秀&#xff0c;但依然是现阶段发展趋势。光…

每个Java开发人员都应该知道的10个基本工具

大家好&#xff0c;我们已经到了2019年的第二个月&#xff0c;我相信你们所有人都已经为2019年的学习目标以及如何实现这些目标制定了目标。 我一直在撰写一系列文章&#xff0c;为您提供一些知识&#xff0c;使您可以学习和改进以成为2019年更好的全方位开发人员&#xff0c;例…

spring集成jndi_Spring应用程序与JNDI连接池的集成测试

spring集成jndi我们都知道&#xff0c;无论何时连接到数据库&#xff0c;都需要使用连接池。 所有使用JDBC 4类的现代驱动程序都支持它。 在本文中&#xff0c;我们将概述Spring应用程序中的连接池&#xff0c;以及如何在非JEE环境&#xff08;例如测试&#xff09;中处理相同的…

数字光端机和模拟视频光端机的六个不同点

说到模拟视频光端机与数字光端机的不同之处&#xff0c;在这里飞畅科技的小编要介绍六点不一样的地方来详细讲解模拟视频光端机与数字光端机的不同。模拟视频光端机与数字光端机究竟有何区别&#xff0c;这也是众多用户所关心的确问题&#xff0c;本文从以下几个方面进行如下论…

在硒中按TagName定位元素

硒定位器是处理网页上的元素时的关键。 从ID&#xff0c;名称&#xff0c;类&#xff0c;标记名&#xff0c;XPath&#xff0c;CSS选择器等定位器列表中&#xff0c;可以根据需要选择其中任何一种&#xff0c;然后在网页上找到Web元素。 由于与tagName或linktext相比&#xff0…

Java注解参数类型枚举值_EffectiveJava-5-枚举和注解

用enum代替int常量1. int枚举&#xff1a;引入枚举前&#xff0c;一般是声明一组具名的int常量&#xff0c;每个常量代表一个类型成员&#xff0c;这种方法叫做int枚举模式。int枚举模式是类型不安全的&#xff0c;例如下面两组常量&#xff1a;性别和动物种类&#xff0c;二者…

工业交换机:如果出现了物理性故障该怎么判断?

一般工业交换机出现故障大致可以分为&#xff1a;软性能故障和物理性故障。软性能故障一般是指工业交换机在研发设计方面出现的问题。今天就由飞畅科技的小编来给大家聊聊工业交换机物理性故障该怎么判断&#xff1f;一起来看看吧&#xff01; 物理层故障主要是指交换机本身的…

q7goodies事例_Java 8 Friday Goodies:精益并发

q7goodies事例在Data Geekery &#xff0c;我们喜欢Java。 而且&#xff0c;由于我们真的很喜欢jOOQ的流畅的API和查询DSL &#xff0c;我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 &#xff0c;现在我们觉得是时候开始一个…

工业交换机的外壳设计重要吗?

工业交换机一般使用在环境比较恶劣的地方&#xff0c;例如工厂等&#xff0c;为了让工业交换机更好的使用&#xff0c;工业交换机的外壳设计起到至关重要的作用&#xff0c;工业交换机的外壳可以更好的保护工业交换机的使用&#xff0c;那么如何才能选到实用的工业交换机外壳呢…

工业交换机和工业4G路由器的区分

工业交换机也称作工业以太网交换机&#xff0c;即应用于工业控制领域的以太网交换机设备&#xff0c;由于采用的网络标准&#xff0c;其开放性好、应用广泛以及价格低廉、使用的是透明而统一的TCP/IP协议&#xff0c;以太网已经成为工业控制领域的主要通信标准。工业交换机具有…

工业交换机和工业级光纤收发器的区别

工业交换机和工业级光纤收发器都是网络数据传输设备中的重要组成部分。工业交换机是进行网络内数据交换的一种以太网连接设备&#xff0c;而工业级光纤收发器是延长传输距离的一种光电转换设备。那么他们之间具体有哪些不同之处呢&#xff1f;接下来就由飞畅科技的小编来为大家…

工业交换机选择时需要注意什么?

工业以太网交换机是用于连接以太网的设备&#xff0c;应用十分广泛&#xff0c;主要应用于&#xff1a;煤矿安全、轨道交通、工厂自动化、水处理系统、城市安防等。现如今&#xff0c;市场上的工业交换机品牌厂家有很多&#xff0c;如何选购合适的以太网交换机是件令人困扰的事…

html如何与php,html页面怎么跟php文件连接

HTML页面调用PHP文件的方法是要通过JavaScript来实现&#xff0c;在生成静态页面时&#xff0c;可以根据数据库id给html页面生成一个对应的JavaScript文件来调用PHP文件。HTML页面调用PHP文件的方法是要通过JavaScript来实现&#xff0c;在生成静态页面时&#xff0c;可以根据数…

为使节构建控制平面的指南第3部分-特定于域的配置API

这是探索为Envoy Proxy构建控制平面的系列文章的第3部分。 在本博客系列中&#xff0c;我们将研究以下领域&#xff1a; 采用一种机制来动态更新Envoy的路由&#xff0c;服务发现和其他配置 确定哪些组件构成了控制平面&#xff0c;包括后备存储&#xff0c;服务发现API&…

工业交换机中:千兆级别和快速级别传输效率对比

目前市面上的工业交换机种类繁多&#xff0c;我们在采购工业交换机的时候&#xff0c;一般都是按照传输速率来进行挑选的。千兆工业交换机和快速以太网交换机都是传输速率比较快的工业交换机&#xff0c;那么&#xff0c;他们之间有哪些区别呢&#xff1f;接下来就由飞畅科技的…

《操作系统A》期末考试复习题——大题51-62(手写笔记)

51、如果限制为两道的多道程序系统中&#xff0c;有4个作业进入系统&#xff0c;其进入系统时刻、估计运行时间为下图所示。系统采用SJF作业调度算法&#xff0c;采用SRTF进程调度算法。作业进入系统时刻、估计运行时间如下&#xff1a; 作业 进入系统时刻 估计运行时间/min …