当前位置:网站首页>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—————
边栏推荐
- 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]
- List de duplication and count the number
- 开发中Boolean类型使用遇到的坑
- Basic JSON operations of MySQL 5.7
- 20. [stm32] realize the function of intelligent garbage can by using ultrasonic module and steering gear
- 17.[STM32]仅用三根线带你驱动LCD1602液晶
- Intelligent metal detector based on openharmony
- 移动办公时如何使用frp内网穿透+teamviewer方式快速连入家中内网主机
- 数据湖(十四):Spark与Iceberg整合查询操作
- 异常com.alibaba.fastjson.JSONException: not match : - =
猜你喜欢
Codasip adds verify safe startup function to risc-v processor series
Research and practice of super-resolution technology in the field of real-time audio and video
MySQL giant pit: update updates should be judged with caution by affecting the number of rows!!!
单商户 V4.4,初心未变,实力依旧!
vulnhub-FirstBlood
项目中批量update
Clock switching with multiple relationship
How difficult is it to pass the certification of Intel Evo 3.0? Yilian technology tells you
ES6深入—ES6 Generator 函数
项目sql中批量update的时候参数类型设置错误
随机推荐
vlunhub- BoredHackerBlog Social Network
视觉体验全面升级,豪威集团与英特尔Evo 3.0共同加速PC产业变革
Convert obj set to entity set
漫画:什么是蓝绿部署?
Noi / 1.5 37: mercenaries
Research and development efficiency measurement index composition and efficiency measurement methodology
The list set is summed up according to a certain attribute of the object, the maximum value, etc
研发效能度量指标构成及效能度量方法论
漫画:什么是八皇后问题?
项目中批量update
Data communication foundation - routing communication between VLANs
通过的英特尔Evo 3.0整机认证到底有多难?忆联科技告诉你
21. [STM32] I don't understand the I2C protocol. Dig deep into the sequence diagram to help you write the underlying driver
抽象类中子类与父类
Intel 13th generation Raptor Lake processor information exposure: more cores, larger cache
Data Lake (XIV): spark and iceberg integrated query operation
Interval DP (gravel consolidation)
MySQL overview
17.[STM32]仅用三根线带你驱动LCD1602液晶
[brief notes] solve the problem of IDE golang code red and error reporting