Red de conocimiento de abogados - Derecho de sociedades - Aplicación del disyuntor Spring Cloud

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 cinco disyuntores anteriores son métodos de implementación diferentes, usted puede introducirlo según sea necesario.

Aquí tomamos a 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 la información de configuración relacionada con Hystrix (aquí se usa principalmente para vincular CommandKey y 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 la subclase específica a través de la 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 + adelante

Comparación entre Sentinel y Hystrix

SpringCloud Hystrix implementa una aplicación de aislamiento de recursos

SpringCloud Gateway aplica la función de limitación de corriente de Hystrix automáticamente Explicación detallada de la definición 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 separación de escritura

¿Conoce los objetos contenedores Spring BeanFactory y ApplicationContext?