Aplicación del disyuntor Spring Cloud
Entorno: Springboot2.3.12.RELEASE cloud-netflix-hystrix2.2.10.RELEASE
El disyuntor SpringCloud proporciona abstracción en diferentes implementaciones de disyuntores. Proporciona una API coherente para su uso en todas las aplicaciones, lo que permite a los desarrolladores elegir la implementación del disyuntor que mejor se adapte a las necesidades de la aplicación.
Tipos de disyuntores admitidos:
Para crear disyuntores en código, puede utilizar la API de fábrica de disyuntores. Cuando incluye el iniciador Spring Cloud Circuit Breaker en su classpath, se crea automáticamente un bean que implementa esta API. A continuación se proporciona un ejemplo muy simple del uso de esta API:
Determine qué disyuntor específico usar introduciendo las siguientes dependencias diferentes
Los 5 disyuntores anteriores son métodos de implementación diferentes, usted puede introducirlo según sea necesario.
Aquí usamos Hystrix como ejemplo
Introducir dependencias
Definir servicios con función de disyuntor
Interfaz del controlador
El método CircuitBreakerFactory#create crea una instancia de CircuitBreaker
De acuerdo con el CLASSPATH actual estamos usando Hystrix, por lo que la fábrica utilizada aquí es:
Clase HystrixCircuitBreakerFactory
Parámetros genéricos: Setter se usa para configurar información de configuración relacionada con Hystrix (aquí se usa principalmente para vincular CommandKey a Setter), y HystrixConfigBuilder se usa para construir objetos HystrixCommand.Setter.
Al ejecutar el método HystrixCircuitBreakerFactory#configure:
La subclase específica del disyuntor implementa HystrixCircuitBreakerFactory
Ahora que la fábrica de disyuntores está disponible, el siguiente paso es crear el disyuntor específico a través de fábrica. El objeto disyuntor
¿Qué se ejecuta cuando el método cbf().create("demo-slow") se ejecuta a través del código anterior?
Lo que se crea arriba es el disyuntor HystrixCircuitBreaker. Cuando se ejecuta el método de ejecución:
¡Listo! ! !
Seguir y avanzar
Comparación entre Sentinel y Hystrix
SpringCloud Hystrix implementa una aplicación de aislamiento de recursos
SpringCloud Gateway aplica la personalización de la función de limitación actual de Hystrix Explicación detallada del filtro
Anti-reinicio de sesión de Spring Boot Security y recuento total en línea
Aplicación del marco de reintento Spring Retry
Springboot mybatis jpa implementa lectura y escritura separación
¿Conoce los objetos contenedores Spring BeanFactory y ApplicationContext?