Aplicación de disyuntor en Spring Cloud
Entorno: springboot2.3.12.RELEASE cloud-netflix-hystrix2.2.10.RELEASE
El disyuntor SpringCloud proporciona una abstracción para diferentes implementaciones de disyuntores. Proporciona una API coherente para 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 arrancador del disyuntor Spring Cloud en su classpath, automáticamente crea un disyuntor. A continuación se proporciona un ejemplo muy simple del uso de esta API:
Determine qué disyuntor usar introduciendo las siguientes dependencias
Los cinco disyuntores anteriores son implementaciones diferentes, así que tráigalos según sea necesario.
Aquí tomamos a Hystrix como ejemplo
Introducir dependencias
Definir servicios mediante fusión
Interfaz del controlador
El método CircuitBreakerFactory#create creará 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 comunes: 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 HystrixCommand y Setter. Objeto fijador.
Al ejecutar el método HystrixCircuitBreakerFactory#configure:
La subclase específica del disyuntor implementa HystrixCircuitBreakerFactory
La fábrica de disyuntores está ahí. El siguiente paso es crear un objeto disyuntor concreto de fábrica.
Cuando se ejecuta el método cbf().create("demo-slow") a través del código anterior, ¿qué operaciones se realizan?
Lo anterior crea un disyuntor HystrixCircuitBreaker Cuando se ejecuta el método de ejecución:
¡¡¡Terminado
Seguir adelante
Sentinel y HystrixHystrix
SpringCloud Hystrix implementa una aplicación de aislamiento de recursos
SpringCloud Gateway aplica el filtro personalizado de la función de limitación actual de Hystrix en detalle
Seguridad Spring Boot anti-inicio de sesión y en línea Total número
Aplicación de marco de reintento Spring Retry
springboot mybatis jpa implementa la separación de lectura y escritura
¿Conoce los objetos contenedores Spring BeanFactory y ApplicationContext?