Comprender el origen de los microservicios

¿Qué es un microservicio?
 
     Los microservicios deben dividir las aplicaciones monolíticas complejas e infladas en servicios detallados, implementarlos de forma independiente y entregarlos a varios equipos pequeños y medianos para que sean responsables de todo el ciclo de vida de desarrollo, prueba, lanzamiento y operación y mantenimiento.
 
La postura correcta para dividir aplicaciones monolíticas en microservicios
 
División vertical
    Determinado de acuerdo con el grado de asociación empresarial, una empresa estrechamente relacionada es adecuada para dividirse en un microservicio, y una empresa con funciones relativamente independientes es adecuada para dividirse en un microservicio por separado.
 
División horizontal
    Según si son convocados públicamente por otros múltiples servicios, y los recursos dependientes son independientes y no están acoplados a otros negocios
Condiciones previas para el servicio de split
 
Cómo definir el servicio
    Independientemente del protocolo de comunicación que se utilice, HTTP o RPC, las llamadas entre servicios están acordadas por la descripción de la interfaz. El contenido acordado incluye el nombre de la interfaz, los parámetros de la interfaz y el valor de retorno de la interfaz.
Cómo se publica y suscribe el servicio
    Se necesita un lugar como un registro para registrar la dirección de cada proveedor de servicios para que las personas que llaman al servicio la consulten. En la arquitectura de microservicio, este lugar es el registro
Cómo monitorear el servicio
    De acuerdo con indicadores como QPS (volumen de llamadas), AvgTime (tiempo promedio) y P999 (cuántos milisegundos es el rendimiento de la solicitud del 99,9%), diseñe un enlace completo que cubra los puntos de enterramiento del negocio, la recopilación de datos, el procesamiento de datos y, finalmente, la visualización de datos. Programa de monitoreo funcional
Cómo se rige el servicio
    Establezca un umbral de rendimiento de la llamada. Si este valor se ha excedido durante un período de tiempo, la llamada que depende del servicio puede regresar directamente, lo cual es fusible, y también es uno de los métodos de gobernanza del servicio más utilizados.
Cómo localizar la falla
    La llamada de un usuario puede depender de varios servicios y cada servicio se implementa en un nodo diferente. Si hay un problema con la llamada del usuario, necesita una solución que pueda marcar una solicitud de usuario y continuar en varios sistemas de servicios dependientes. Pasando, de modo que todos los caminos estén conectados en serie para la localización de fallas
 
Flujo de llamadas de servicio
 
    
1. El proveedor de servicios registra el servicio en el centro de registro de acuerdo con la descripción del servicio en un formato determinado, declara qué servicios puede proporcionar y cuál es la dirección del servicio, y completa la liberación del servicio.
 
2. El consumidor del servicio solicita al centro de registro que consulte la dirección del servicio al que se debe llamar, y luego inicia una solicitud al proveedor del servicio con el protocolo de comunicación acordado, y luego analiza el resultado de acuerdo con el protocolo acordado después de obtener el resultado de la solicitud.
 
3. En el proceso de invocación del servicio, se registrarán indicadores como el tiempo de solicitud del servicio, el volumen de llamadas y la tasa de éxito para su monitoreo, y la información del enlace a través de la llamada se registrará para la ubicación de fallas y seguimiento de problemas. , Si la llamada falla, puede garantizar la tasa de éxito volviendo a intentar y otros métodos de gobierno del servicio
 
Componentes básicos de microservicios
    Servicio Descripción Registro Marco del servicio Supervisión del servicio Seguimiento del servicio Gobierno del servicio
 
El flujo de trabajo del registro
     Cuando el proveedor de servicios se inicia, se registra en el registro y publica sus propios servicios de acuerdo con la información de publicación configurada en el archivo de publicación del servicio.
    Cuando el consumidor del servicio inicia, se suscribe al centro de registro para el servicio que necesita de acuerdo con la información del servicio configurada en el archivo de configuración del consumidor.
    El centro de registro devuelve una lista de direcciones de proveedores de servicios a los consumidores de servicios.
    Cuando el proveedor de servicios cambia, como cuando se agrega o destruye un nodo, el registro notificará al consumidor del servicio del cambio.
El principal proceso de seguimiento del servicio
 Colección de indicadores
    Recopile el tiempo y el éxito de cada solicitud de llamada de servicio y cárguelo en el centro de procesamiento de datos centralizado 
 procesamiento de datos
    De acuerdo con el tiempo de solicitud y la información de éxito o falla de cada llamada, es posible calcular indicadores como el número de solicitudes de servicio por segundo, el tiempo promedio que consume y la tasa de éxito.
 demostración de datos
    Una vez que los datos se recopilan y procesan, deben mostrarse de manera amigable para que sean valiosos, y se actualizan automáticamente cada 10 segundos a intervalos iguales para el monitoreo y las alarmas comerciales, etc.
Cómo funciona el seguimiento de servicios
    Antes de que el consumidor del servicio inicie la llamada, se generará un RequestId localmente de acuerdo con ciertas reglas . Cuando se inicia la llamada, el RequestId se utiliza como parte de los parámetros de la solicitud y se pasa al proveedor del servicio.
    Una vez que el proveedor de servicios recibe la solicitud, registra el RequestId de esta solicitud y luego procesa la solicitud.
    Si este proveedor de servicios necesita continuar solicitando otros servicios cuando realiza las solicitudes de los consumidores, generará su propio RequestId localmente,
Luego use estos dos RequestIds como parámetros de solicitud y continúe pasando
    Por analogía, a través de este método de transferencia capa por capa, una solicitud, sin importar de cuántas llamadas de servicio dependa y cuántos nodos de servicio atraviese, todos los nodos pueden conectarse en serie a través del RequestId generado al principio para lograr el propósito del seguimiento del servicio.
 

Supongo que te gusta

Origin blog.csdn.net/weixin_43562937/article/details/106821349
Recomendado
Clasificación