当前位置:网站首页>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—————
边栏推荐
- Relationship between objects and classes
- Fundamentals of data communication - Principles of IP routing
- CISP-PTE之PHP伪协议总结
- Coding devsecops helps financial enterprises run out of digital acceleration
- 程序员如何提升自己的格局?
- 写单元测试的时候犯的错
- Linear DP (basic questions have been updated)
- 我们为什么要学习数学建模?
- Defining strict standards, Intel Evo 3.0 is accelerating the upgrading of the PC industry
- Query the latest record in SQL
猜你喜欢

力扣今日题-729. 我的日程安排表 I

【 note 】 résoudre l'erreur de code IDE golang

六种常用事务解决方案,你方唱罢,我登场(没有最好只有更好)

超分辨率技术在实时音视频领域的研究与实践

Data Lake (XIV): spark and iceberg integrated query operation

Appium automation test foundation - appium basic operation API (I)

RepLKNet:不是大卷积不好,而是卷积不够大,31x31卷积了解一下 | CVPR 2022

ES6深入—ES6 Generator 函数

OceanBase社区版之OBD方式部署方式本地安装

RLock锁的使用
随机推荐
Li Kou today's question -729 My schedule I
Why should we learn mathematical modeling?
Transaction rollback exception
Appium automation test foundation - appium basic operation API (II)
【簡記】解决IDE golang 代碼飄紅報錯
研发效能度量指标构成及效能度量方法论
机械臂速成小指南(九):正运动学分析
Data communication foundation NAT network address translation
Modify PyUnit_ Time makes it support the time text of 'xx~xx months'
【网易云信】超分辨率技术在实时音视频领域的研究与实践
vlunhub- BoredHackerBlog Social Network
10分钟帮你搞定Zabbix监控平台告警推送到钉钉群
17. [stm32] use only three wires to drive LCD1602 LCD
Data communication foundation - route republication
The computer is busy, and the update is a little slow
The database of the server is not connected to 200310060 "unknown error" [the service is up, the firewall is off, the port is on, and the netlent port is not connected]
Cs231n notes (medium) -- applicable to 0 Foundation
异常com.alibaba.fastjson.JSONException: not match : - =
Virtual base class (a little difficult)
[graduation season] as a sophomore majoring in planning, I have something to say