Sentinel y springboot degradan la solicitud en el proveedor

Sentinel
agrega una dependencia experta en el procesamiento de degradación del límite actual del proveedor de la solicitud

<!--引入sentinel 熔断 降级 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

Agregue la siguiente información de configuración al archivo application.yml del proyecto:

    #配置sentinel
    spring:
	    sentinel:
	      transport:
	        dashboard: localhost:8883
	        #控制台的port
	        port: 8719

Descarga sentinel e instálalo localmente
https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel
La versión que instalé aquí es sentinel.dashboard-1.6.3.jar
Inserte la descripción de la imagen aquí
donde sentinel.dashboard-1.6.3.jar
se encuentra Abrir cmd debajo del directorio para ejecutar el comando:

java -jar  sentinel.dashboard-1.6.3.jar --server.port=8883

El navegador abre la página;
ingrese el nombre de usuario de inicio de sesión:
contraseña de centinela : centinela
solicita aleatoriamente una ruta para el proyecto, la siguiente información aparecerá en el panel del tablero.
Cada microservicio presenta información de auditoría estadística spring-boot-starter-actuator Inserte la descripción de la imagen aquí
Cada microservicio presenta información de auditoría estadística spring-boot-starter-actuator
Endpoint admite
la necesidad de agregar spring-boot-starter- a Maven antes de usar la función Endpoint El actuador depende de y permite el acceso de Endpoints en la configuración.

Agregue la configuración management.security.enabled = false en Spring Boot 1.x. La ruta del punto final expuesto es / sentinel

Agregue la configuración management.endpoints.web.exposure.include = * en Spring Boot 2.x. La ruta del punto final expuesto es / actuador / centinela

La información expuesta en Sentinel Endpoint es muy útil. Incluyendo toda la información de las reglas de la aplicación actual, el directorio de registro, la IP de la instancia actual, la dirección del Panel de Sentinel, la Página de Bloqueo, la frecuencia de latido de la aplicación y el Panel de Sentinel, etc.

El proveedor reduce el procesamiento y
agrega dependencia de maven

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>

Agregar información de configuración al archivo de configuración

management.endpoints.web.exposure.include=*

Agregar una clase de configuración de respuesta de control de flujo personalizada

**
 * @date 2021-02-22 2:19 下午
 * @description sentinel自定义返回方法
 */
@Configuration
public class MySeckillSentinelConfig {
    
    

    public MySeckillSentinelConfig() {
    
    
        WebCallbackManager.setUrlBlockHandler(new UrlBlockHandler() {
    
    
            @Override
            public void blocked(HttpServletRequest request, HttpServletResponse response, BlockException e) throws IOException {
    
    
                //请求流量过大就返回
                R r = R.error(BizCodeEnume.TO_MANY_REQUEST.getCode(), BizCodeEnume.TO_MANY_REQUEST.getMsg());
                //解决response乱码
                response.setCharacterEncoding("utf-8");
                response.setContentType("application/json");
                response.getWriter().write(JSON.toJSONString(r));
            }
        });
    }
}

Se activará cuando el tráfico de solicitudes sea demasiado grande.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/u014496893/article/details/114368832
Recomendado
Clasificación