Red de conocimiento informático - Problemas con los teléfonos móviles - Microservicios Spring Cloud en la práctica

Microservicios Spring Cloud en la práctica

Lea las notas de "Spring Microservices in Action"

Dirección del proyecto: /liaozb1996/spring-cloud-in-action

Principios de gestión de configuración:

Almacenamiento back-end de Spring Cloud Config: sistema de archivos, Git

Marcar la clase de arranque:

Configurar la configuración del servidor:

Crear archivo de configuración :

Configuración de acceso:

Configuración del cliente:

dependencia spring-cloud-config-client

boostrap.properties

Actualizar propiedades:

Por qué el descubrimiento de servicios es crucial:

Desventajas de la resolución de ubicación de servicios tradicional (DNS + balanceador de carga):

Componentes de implementación del descubrimiento de servicios :

Construye el servicio Eureka:

Marca la clase de arranque:

Configuración del modo autónomo:

Cada vez que registras el servicio, debe esperar 30 segundos porque eureka necesita recibir 3 paquetes de latidos consecutivos para usar este servicio.

Después de almacenar en caché el registro, el cliente irá a eureka cada 30 segundos para actualizar el registro.

Registro de servicio:

Resolver el problema de múltiples tarjetas de red:

Obtener información de registro a través de API: (Establecer encabezado de solicitud Aceptar: aplicación/json)

/Netflix/Hystrix/wiki/Configuration

Utilice la configuración predeterminada de Hystrix para administrar llamadas remotas:

Configuración de tiempo de espera: ejecución.isolation.thread.timeoutInMillisegundos

Configurar la estrategia de respaldo: los métodos de respaldo deben estar en la misma clase y tener la misma firma de método

Configurar el mamparo:

Estrategia de interrupción de circuito de Hystrix:

Hystrix Hay tres niveles de configuración:

Configuración a nivel de clase:

Hystrix tiene dos estrategias de aislamiento:

Si usa la estrategia TREAD y desea para usar el contexto del hilo principal Para pasarlo al hilo secundario, necesita personalizar HystrixConcurrencyStrategy

Funciones proporcionadas por Zuul: mapeo de rutas, creación de filtros

Dependencias: zuul, eureka-client

Clase de arranque de anotación:

Configuración de zuul:

?

Mecanismo de mapeo de ruta de Zuul:

Ruta de consulta : http://localhost:8080 /actuator/routes

Llame al servicio: http://localhost:8080/license/license/1 (la primera licencia es el ID del servicio, /license/1 es la ruta de solicitud)

Utilice el descubrimiento de servicios para asignar rutas manualmente:

Agregar prefijo:

Configure manualmente rutas estáticas: la asignación de rutas anterior se basó en el servicio id en eureka, pero aquí está la configuración directa de la URL

Git + http://localhost:8080/actuator/refresh (POST)

Zuul usa Hystrix y Ribbon

Zuul admite tres tipos de filtros: filtro previo, filtro posterior y filtro de enrutamiento

Filtro previo: agrega ID de seguimiento a las solicitudes que pasan a través de la puerta de enlace

Zuul RequestContext se utiliza aquí:

Zuul no permite la modificación directa del encabezado de la solicitud. Aquí, agregue la información del encabezado a través de addZuulRequestHeader, que se fusionará automáticamente al llamar al servicio remoto.

Para facilitar que la aplicación obtenga el ID de seguimiento, aquí utilice Filter para obtener el encabezado de la solicitud. La información se asigna al UserContext:

Para llamar y propagar el ID de seguimiento entre servicios, usted. debe definir un y RestTemplate:

La licencia en el proyecto llamará a la organización de forma remota, y aquí debe definir dos filtros de configuración de microservicio