Believe me, you will bookmark this article. This article involves source code analysis of three components: Ribbon, Hystrix, and Feign.
Ribbon Architecture Analysis
This article introduces the infrastructure of Ribbon, which is the 6 major components involved in the following figure:
Ribbon source code analysis
This article is based on the previous article and introduces the code execution process of Ribbon in detail: Ribbon's automatic assembly -> request interceptor -> load balancing
Hystrix workflow analysis
This article details the Hystrix workflow, which is the 9 steps involved in the following figure:
Hystrix failure processing logic analysis
This article describes in detail the processing logic when Hystrix encounters four scenarios: circuit breaker open, thread pool/semaphore running full, call timeout, and call failure.
Hystrix fuses
This article introduces the initialization of Hystrix circuit breakers, and the state flow of when to open, when to try half-open, and when to close
Feign auto assembly
This article introduces Feign's automatic assembly principle
Feign integrates Ribbon and Hystrix source code analysis
This article is based on all the above articles and describes the source code of service calls between SpringCloud microservices in a production environment