当前位置:网站首页>Cartoon: what is service fusing?
Cartoon: what is service fusing?
2022-07-05 16:09:00 【Small ash】
Xiaohui's answer strategy , It's about thinking when you're in trouble 、 Keep thinking , Until the end of the exam . You can use the following flow chart to show :
Rhubarb's answer strategy , It's about trying to think a few times when you have a problem , If a certain number of attempts fail , Give up decisively , Continue to answer other questions . When other questions are answered , Come back and rethink that puzzle . You can use the following flow chart to show :
What is service fusing ?
The concept of fusing comes from... In electronic engineering Circuit breaker (Circuit Breaker). In the Internet system , When downstream services respond slowly or fail due to heavy access pressure , Upstream services to protect the overall availability of the system , You can temporarily cut off calls to downstream services .
The sacrifice is local , The measure to preserve the whole is called Fuse .
If no fusing measures are taken , What will happen to our system ? Let's see a chestnut .
There are... In the current system A,B,C Three services , service A Is the upstream , service B It's midstream , service C It's downstream . Their call chain is as follows :
Once downstream Services C Becomes unavailable for some reason , There's a huge backlog of requests , service B The request thread of is also blocked . Thread resources are running out , Make service B And it's not available . Then , service A It also becomes unavailable , The whole call link is dragged down .
Cascading failures like this call link , be called An avalanche .
It is the so-called curettage of bone to cure poison , A strong man DuanWan . At a time like this , We need our circuit breaker mechanism to save the whole system . The general process of the circuit breaker mechanism is the same as the examination strategy just mentioned :
Two things need to be explained here :
1. Open fuse
In a fixed time window , Interface call timeout ratio reaches a threshold , Will open the fuse . After entering the fusing state , Subsequent calls to the service interface do not pass through the network , Execute the local default method directly , achieve service degradation The effect of .
2. Fuse recovery
It can't be permanent . After a certain period of time , The service will come back from the fused state , Accept the caller's remote call again .
The practical application of service fusing
Spring Cloud Hystrix Is based on Netflix Open source framework of Hystrix Realization , The framework implements Service failure 、 Thread isolation And a series of service protection functions .
For the realization of the fusing mechanism ,Hystrix Three states are designed :
1. Fuse off state (Closed)
When there is no service failure , Status of fuse , No restrictions on the caller's calls .
2. Fuse on state (Open)
In a fixed time window (Hystrix The default is 10 second ), Interface call error rate reached a threshold (Hystrix The default is 50%), It will enter the fuse on state . After entering the fusing state , Subsequent calls to the service interface do not pass through the network , Direct execution of local fallback Method .
3. Semi fused state (Half-Open)
After entering the fusing open state for a period of time (Hystrix The default is 5 second ), The fuse will be half blown . The so-called half fuse is to try to recover the service call , Allow limited traffic to call the service , And monitor the call success rate . If the success rate is as expected , The service has been restored , Enter the fuse off state ; If the success rate is still very low , Then enter the fusing off state again .
The transformation relationship of the three states is shown in the figure below :
—————END—————
边栏推荐
- 利用GrayLog告警功能实现钉钉群机器人定时工作提醒
- 超分辨率技术在实时音视频领域的研究与实践
- wyt 。。
- 《MongoDB入门教程》第04篇 MongoDB客户端
- abstract关键字和哪些关键字会发生冲突呢
- Cartoon: what is MapReduce?
- Intelligent metal detector based on openharmony
- Data communication foundation - route republication
- I'm fat, huh
- Verilog realizes the calculation of the maximum common divisor and the minimum common multiple
猜你喜欢
数据湖(十四):Spark与Iceberg整合查询操作
服务器的数据库连不上了2003,10060“Unknown error“【服务已起、防火墙已关、端口已开、netlent 端口不通】
RLock锁的使用
英特尔第13代Raptor Lake处理器信息曝光:更多核心 更大缓存
18.[stm32] read the ROM of DS18B20 temperature sensor and realize multi-point temperature measurement
降本40%!Redis多租户集群的容器化实践
ES6深入—ES6 Class 类
Appium automation test foundation - appium basic operation API (II)
Research and development efficiency measurement index composition and efficiency measurement methodology
单商户 V4.4,初心未变,实力依旧!
随机推荐
一键安装脚本实现快速部署GrayLog Server 4.2.10单机版
This article takes you through the addition, deletion, modification and query of JS processing tree structure data
Relationship between objects and classes
Data Lake (XIV): spark and iceberg integrated query operation
Exception com alibaba. fastjson. JSONException: not match : - =
vant popup+其他组件的组合使用,及避坑指南
Five common negotiation strategies of consulting companies and how to safeguard their own interests
RLock锁的使用
ES6深入—ES6 Class 类
修改pyunit_time使得其支持‘xx~xx月’的时间文本
Use of set tag in SQL
21. [STM32] I don't understand the I2C protocol. Dig deep into the sequence diagram to help you write the underlying driver
Arduino controls a tiny hexapod 3D printing robot
ES6 drill down - ES6 generator function
wyt 。。
vant tabbar遮挡内容的解决方式
sql中查询最近一条记录
ES6深入—async 函数 与 Symbol 类型
vulnhub-Root_ this_ box
Noi / 1.5 06: element maximum span value of integer sequence