Red de conocimiento informático - Computadora portátil - Código fuente que limita la corriente de la nube

Código fuente que limita la corriente de la nube

Solución general para proyectos de comercio electrónico:

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.