Código fuente que limita la corriente de la nube
SpringCloud Alibaba-nacos:Centro de registro
SpringCloud Alibaba-nacos:Centro de configuración
SpringCloud-Ribbon: Equilibrio de carga
SpringCloud Alibaba - Sentinel: tolerancia a fallas del servicio (limitación de corriente, degradación, fusible)
spring cloud-gateway: puerta de enlace API (modo de programación web flux)
Llamar monitoreo de cadena
SpringCloud Alibaba-Seata: solución de transacciones distribuidas
Función: debido a que se utilizará Springcloud Alibaba, se colocará en un servicio público para administrar la versión de manera uniforme.
Dirección del documento de Nacos:/docs/docs/quick-start.html
Dirección de descarga de Nacos:/Alibaba/nacos/releases
Paso 1: agregue el dependencias de nacos correspondientes al archivo pom de servicio que debe registrarse con nacos.
Función: Registra nuestros servicios en el centro de registro y descubre otros servicios desde el centro de registro.
Paso 2: Agregue la configuración de la dirección del servidor Nacos al archivo de propiedades /src/main/resources/application.
Nombra el servicio actual.
Paso 3: utilice la anotación @EnableDiscoveryClient para activar el registro y el descubrimiento de servicios.
Inicie el servidor Nacos
Descargue la página de descarga del servidor Nacos
Descomprima el archivo descargado, ingrese a la carpeta nacos/bin () y ajústelo según Para conocer la situación real del sistema operativo
Linux/Unix/Mac, ejecute sh startup.sh -m standalone.
Windows, ejecuta el comando startup.cmd
Servicio de consultoría
. taobao.tc.refund.log.level).
Las reglas garantizan la unicidad global. Esta convención de nomenclatura no es obligatoria.
Grupo de configuración
Un conjunto de conjuntos de configuración en Nacos es una de las dimensiones de la configuración organizacional. Agrupe los conjuntos de configuración mediante una cadena significativa (como Comprar o
Intercambiar) para distinguir los conjuntos de configuración con el mismo ID de datos. Cuando crea una configuración en Nachos, si el nombre del grupo de configuración no está completo, el nombre del grupo de configuración será DEFAULT_GROUP. Implementación
Escenarios de agrupación comunes: diferentes aplicaciones o componentes usan el mismo tipo de configuración, como la configuración de base de datos_url.
Configuración MQ_topic.
Cargue varios archivos de configuración:
Documentación oficial:/Alibaba/sentinel/wiki/% E4 % bb % 8b % E7 % bb % 8d
Dirección del proyecto :/Alibaba/Sentinel
Con la popularidad de los microservicios, la estabilidad entre servicios se ha vuelto cada vez más importante. Sentinel toma el tráfico como punto de entrada.
Proteja la estabilidad de los servicios desde múltiples dimensiones, como el control de flujo, la degradación de los fusibles y la protección de la carga del sistema.
¿Qué es la degradación de los fusibles?
Además del control de flujo, reducir los recursos inestables en el enlace de llamada también es una de las tareas centinela clave. Debido a la complejidad de la relación de llamada, si un recurso en el enlace de llamada es inestable, eventualmente dará lugar a una acumulación de solicitudes.
Sentinel y Hystrix tienen el mismo principio: cuando se detecta un rendimiento inestable de los recursos en el enlace de llamada, como
si el tiempo de respuesta de la solicitud es largo o la tasa de excepción aumenta , luego limitar las llamadas a este recurso hace que la solicitud falle rápidamente.
Evita afectar otros recursos y provocar fallos en cascada.
Concepto de diseño de degradación de la espoleta
Sentinel y Hystrix adoptan enfoques completamente diferentes en cuanto a los medios de contención.
Hystrix separa las dependencias mediante el aislamiento del grupo de subprocesos (correspondiente a los recursos en el concepto Sentinel).
Vete. La ventaja de esto es que los recursos están completamente aislados unos de otros. La desventaja es que además de aumentar la tasa de éxito del cambio de subprocesos
esto (demasiados grupos de subprocesos generan demasiados subprocesos), es necesario asignar el tamaño del grupo de subprocesos a cada recurso por adelantado.
Sentinel adopta dos enfoques para resolver este problema.
A. Limitado por el número de subprocesos simultáneos
B. Reducir la calidad de los recursos a través del tiempo de respuesta
Pasos:
1. Relación de dependencias
2. Usar el centro de registro de Nacos
3. Definir la implementación alternativa.
En los consumidores de servicios, implementar una interfaz pseudoremota es un método tolerante a fallos para invocar errores.
4. Defina fallbackfactory y colóquelo en el contenedor.
5. Convertir clases alternativas para aceptar excepciones e implementar métodos tolerantes a fallas.
6. La interfaz remota está configurada con tolerancia a fallas del cliente simulado.
7. Active la función de suplantación del Agente Sentinel; configúrela en las propiedades de la aplicación
para probar el efecto del fusible. Cuando ocurre un problema con el servicio remoto, se llamará automáticamente al método de devolución de llamada para devolver los datos predeterminados.