apolo aprendizaje Acabado: general Diseño

En primer lugar, el diagrama de la arquitectura
En segundo lugar, el módulo de núcleo
  1. ConfigService
    1) proporcionar una adquisición de configuración de interfaz
    2) proporciona la configuración empujar una interfaz (servicio de uso final de primavera DeferredResult asíncrona, lo que aumenta en gran medida la longitud del número de conexiones, tomcat incrustar utilizando actualmente la configuración por defecto es de hasta 10.000 conexiones (puede ser ajustado), el uso de las máquinas virtuales encontradas 4C8G puede estar soportado 10000 conexiones, por lo que para satisfacer las necesidades de (un ejemplo de aplicación se inicie una conexión de largo)
    3) que presta servicio al cliente Apolo
  2. AdminService
    1) proporciona una interfaz de gestión de la configuración
    2) proporciona modificaciones de configuración de interfaz publicación
    3) interfaz de servicio para gestionar Portal
  3. Cliente
    1) para obtener aplicación de configuración que las actualizaciones soportes en tiempo real
    2) obtener una lista de ConfiigService servicio por metaserver
    3) usando una carga de cliente SLB invoke ConfigService
  4. Portal
    1) interfaz de gestión de la configuración
    2) obtener una lista de servicios AdminService por metaserver
    3) usando una carga de cliente SLB invoke AdminService
 
En tercer lugar, los servicios auxiliares módulo de descubrimiento
  1. Eureka
    1) proporciona el descubrimiento de servicios y el registro basado en la primavera de Eureka y la nube de Netflix
    2) Config / AdminService registrado e informar periódicamente casos latido del corazón
    3) y ConfigService viven con el despliegue (¿Por qué? Para simplificar la implementación)
    4) de servicio de configuración y servicio de administración son multi-instancia, el despliegue sin estado, es necesario registrarse y para mantener el latido del corazón de Eureka
  2. metaserver
    1) Acceso Portal por nombre de dominio metaserver get AdminService lista de direcciones
    2) dominio de acceso de cliente metaserver mediante la adquisición de la lista de direcciones ConfigService
    3) corresponde a un proxy de Eureka (Eureka nos encontramos en el piso paquete de servicios Meta servidor de interfaz de descubrimiento Eureka para Portal y el cliente, nunca se conseguirá a través de un servicio de administración y configuración de interfaz HTTP
    4) las funciones lógicas y ConfigService juntos en vivo y desplegado en el mismo proceso JVM
    5) metaserver + Eureka = k8s.service (ver la funcionalidad de punto final a un acceso real de punto final)
  3. NginxLB
    1) y el Sistema de Nombres de Dominio cooperar y ayudar Portal lista de direcciones de acceso get metaserver AdminService
    2) y el Sistema de Nombres de Dominio cooperar y ayudar a la lista de direcciones de acceso de cliente metaserver obtener ConfigService
    3) y el Sistema de Nombres de Dominio cooperar y ayudar al usuario para acceder a la gestión de la configuración Portal
En cuarto lugar, el diseño del lado del servidor
  1. Después de la liberación de presión en tiempo real
    1) user publicada operativo Portal configuración
    2) la liberación operaciones de la interfaz de llamada Portal de Servicio de administración
    3) Servicio de administración después de la configuración de liberación, enviar ReleaseMessage a cada servicio de configuración
    4) Config servicio después de recibir ReleaseMessage, se dio cuenta del cliente correspondiente
  2. transmisión ReleaseMessage Implementación (a través de implementos de base de datos una cola de mensajes simples)
    1) Servicio de administración irá mesa ReleaseMessage insertar un mensaje grabado en libertad después de la configuración, que es el contenido del mensaje de configuración publicado AppId + Cluster + Espacio de nombres
    2) Config servicio tiene un hilo escaneará cada segundo mesa ReleaseMessage para ver si hay un nuevo registro de mensajes
    3) Config servicio Si usted encuentra un registro nuevo mensaje, se informará a los oyentes todas las noticias, como NotificationControllerV2
    Después de 4) NotificationControllerV2 configuración liberado obtiene AppId + Cluster + Espacio de nombres, notifica al cliente correspondiente
  3. Config de mantenimiento para informar a la aplicación cliente
    1) Los iniciados cliente una petición HTTP al servicio de configuración de notificaciones / v2 Interface
    2) NotificationControllerV2 no devuelve resultados de inmediato, sino por la solicitud pendiente de Primavera DeferredResult
    3) Si no configura el cliente afectado liberados dentro de los 60 segundos, a continuación, devuelve el código de estado HTTP 304 al cliente
    4) Si se ha configurado el cliente de que se trate acerca de la liberación, NotificationControllerV2 llamadas setResult DeferredResult método de la información entrante tiene cambios en la configuración de espacios de nombres, y la solicitud devolverá inmediatamente. Después de que los clientes obtiene a partir de los resultados devueltos a los cambios en la configuración del espacio de nombres, vamos a solicitar inmediatamente de servicio de configuración para obtener la última configuración del espacio de nombres
En quinto lugar, el diseño del cliente
  1. El cliente y el servidor para mantener una conexión persistente, de modo que pueda empujar la primera vez para obtener la configuración actualizada
  2. El cliente también programado tirar de la última configuración del servidor de aplicaciones desde el centro de distribución de Apolo
    1) Este es un mecanismo de reserva, lo que resulta en el fracaso para evitar que el mecanismo de empuje no está configurado para actualizar
    2) El cliente informará momento de una versión local de tracción, por lo que, en circunstancias normales, el tiempo para la operación de la atracción, el servidor devuelve 304 - No modificado
    3) El tirón frecuencia de tiempo predeterminado una vez cada 5 minutos, los clientes también pueden especificar el tiempo de ejecución es sistema de propiedad: apollo.refreshInterval cubierto, en minutos (es decir: no permiten liberar configuración, será actualizado automáticamente a la línea )
  3. Después de que los obtiene de cliente desde el servidor central configuración de Apolo a la última configuración de la aplicación, se mantiene en la memoria
  4. El cliente obtendrá desde el servidor a la configuración de restauración de la configuración en una memoria caché del sistema de archivos local, en la cara de servicio no está disponible, o cuando la red no tiene sentido, aún desde el nivel local
  5. Las solicitudes de la última configuración de los clientes de Apollo, suscribirse a la notificación de actualización de configuración (apolo iniciar el cambio de configuración)
En sexto lugar, el seguimiento pertinente
  1. el cliente y el servidor de Apolo se apoyan así CAT se ejecuta automáticamente, por lo que si su empresa ha desplegado una palabras del gato internos, siempre que la introducción de gato-cliente Apolo permitirá automáticamente CAT RBI.
  2. Si no se utiliza CAT, entonces no se preocupe, siempre y cuando ninguna introducción gato-cliente, Apolo no está activado CAT RBI
 Siete, diseño de usabilidad
escena
afectar
demote
razón
Una Taiwan configuración sin conexión de servicios
ningún efecto
 
servicio de configuración sin estado cliente de reconexión del servicio de otra config
Todo el servicio de configuración sin conexión
El cliente no puede leer la última configuración, sin afectar Portal
Cuando un reinicio del cliente puede ser leído perfil en caché local
 
Una estación de servicio de administración de la línea de montaje
ningún efecto
 
sin estado servicio de administración, Portal otra reconexión del servicio de administración
Todos los servicios de administración en línea
El cliente no tuvo ningún efecto, la configuración del portal no puede ser actualizado
 
 
Un portal de Taiwán sin conexión
ningún efecto
 
Portal de dominio por SLB se unen varios servidores, inténtelo de nuevo apuntando a un servidor disponible
Todo desconectado portal
El cliente no tuvo ningún efecto, la configuración del portal no puede ser actualizado
 
 
Un centro de datos fuera de línea
ningún efecto
 
Múltiples datos de desarrollo de centros, los datos son totalmente sincronizados, Servidor / Portal Meta de dominio por el interruptor SLB automáticamente al otro centro de datos sobreviviente
 
 

Supongo que te gusta

Origin www.cnblogs.com/jayce9102/p/12607553.html
Recomendado
Clasificación