当前位置:网站首页>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—————
边栏推荐
- 记录一下树莓派搭建环境中遇到的坑。。。
- Dataarts studio data architecture - Introduction to data standards
- The difference between abstract classes and interfaces
- 事务回滚异常
- Write a go program with vscode in one article
- CISP-PTE之PHP伪协议总结
- 定义严苛标准,英特尔Evo 3.0正在加速PC产业升级
- Find the root of the following equation by chord cutting method, f (x) =x^3-5x^2+16x-80=0
- SQL injection sqllabs (basic challenges) 1-10
- 对象和类的关系
猜你喜欢

Write a go program with vscode in one article

抽象类和接口的区别

Why should we learn mathematical modeling?

示例项目:简单的六足步行者

ES6深入—ES6 Generator 函数

Data communication foundation - route republication

Data communication foundation NAT network address translation

Convert obj set to entity set

Quick completion guide for manipulator (IX): forward kinematics analysis

Codasip为RISC-V处理器系列增加Veridify安全启动功能
随机推荐
How difficult is it to pass the certification of Intel Evo 3.0? Yilian technology tells you
16. [stm32] starting from the principle, I will show you the DS18B20 temperature sensor - four digit digital tube displays the temperature
I'm fat, huh
对象和类的关系
Relationship between objects and classes
漫画:什么是蓝绿部署?
Appium automation test foundation - appium basic operation API (II)
Maximum common subsequence
【毕业季】作为一名大二计科在校生,我有话想说
MySQL table field adjustment
异常com.alibaba.fastjson.JSONException: not match : - =
践行自主可控3.0,真正开创中国人自己的开源事业
漫画:什么是分布式事务?
Mistakes made when writing unit tests
Modify PyUnit_ Time makes it support the time text of 'xx~xx months'
RLock锁的使用
Defining strict standards, Intel Evo 3.0 is accelerating the upgrading of the PC industry
《MongoDB入门教程》第04篇 MongoDB客户端
Coding devsecops helps financial enterprises run out of digital acceleration
vlunhub- BoredHackerBlog Social Network