Análisis comparativo de los servicios de micro configuración arquitectura del centro de la corriente principal?

¿Por qué necesitamos a centro de configure

Configuración con efecto inmediato :

configuración estática tradicional Para modificar una configuración sólo puede volver a publicar las aplicaciones después de la modificación, para lograr dinámico, puede optar por utilizar la base de datos, configurado para cambios de sentido en el momento de la votación mediante el acceso a la base de datos. frecuencia de sondeo de los cambios en la configuración de baja y que están en la larga demora, alta frecuencia de sondeo, la detección de un cambio de configuración en el pequeño retraso, pero la pérdida de comparación de rendimiento, un compromiso entre la necesidad de hacerlo rendimiento en tiempo real. Center Configuration específicamente para este escenario de negocio, teniendo en cuenta en tiempo real y la consistencia de la gestión de configuración dinámica.

proceso de gestión de la configuración :

Configurar el control de permisos, gris publicar gestión correspondiente versión, la configuración de seguridad y formato de la prueba y una serie de funciones de gestión de configuración son también parte de la central no se puede obtener la configuración.

El código abierto describe el centro de la configuración básica

Actualmente en el mercado utilizan más Centro configuración :( especie de tiempo de código abierto)

Disconf

De julio de 2014 Baidu código abierto centros de gestión de la configuración, tienen las mismas capacidades de gestión de configuración, pero ahora no se mantiene, más recientemente presentaron hace dos años a.

Nube Primavera Config

De septiembre de 2014 abierto, componentes ecológicos Nube Primavera, Primavera y Cloud se pueden integrar perfectamente el sistema.

Apolo

De mayo de 2016, abierto centro de gestión de la configuración fuente Ctrip, tienen normas de derechos, control de procesos y otras características.

Nacos

De junio de 2018, abierta centro de distribución de la fuente Ali, puede hacer DNS y el servicio RPC descubrimiento.

El concepto central del centro de distribución de contraste

Desde Disconf ya no se mantiene, comparar la primavera siguiente Nube Config, Apolo y Nacos. Nube Primavera Config, Apolo y Nacos concepto en el campo de la gestión de la configuración es básicamente el mismo, pero hay algunos puntos diferentes, usando la configuración del proceso implicará algunos de los conceptos más importantes.

solicitud

Aplicación de la unidad básica de los sistemas cliente, Nube Primavera de configuración correspondiente al nombre de la aplicación y el nombre de archivo está asociado a Git, para que pueda jugar una pluralidad de aplicaciones dispuestas mutuamente aislamiento. Apolo en una configuración de la aplicación son los siguientes (además de configuración común), también juega una pluralidad de aplicaciones dispuestas mutuamente aislamiento. La aplicación del concepto de Nacos débil, sólo una propiedad adicional para distinguir configuración, pero puede ser utilizado para hacer la aplicación en el campo de grupo, puede desempeñar un papel en el aislamiento.

Clusters

Diferentes entornos pueden configurar diferentes grupos, para que pueda desempeñar el papel de aislamiento físico, Primavera Nube Config, Apolo, Nacos apoyan varios clústeres.

Perfil etiqueta y el medio ambiente y espacio de nombres

Primavera Nube Config etiqueta puede ser utilizado para hacer el aislamiento lógico y perfil, Etiqueta para repositorio remoto rama, Maven Perfil Perfil ambientes similares se pueden distinguir, como {aplicación} - {perfil} .properties.

Y Apolo Nacos espacio de nombres medio ambiente, es un concepto lógico, como entorno de aislamiento lógico. Apolo es el nombre de la configuración de espacio de nombres, el elemento de configuración específica se refiere a un perfil de propiedades.

Comparación de las capacidades de gestión de configuración

Como un centro de distribución, todo el proceso de gestión de la configuración debe tener capacidades simplificados.

liberación gris

Gris publicar la configuración es configurar el centro de las funciones más importantes, cuando los cambios afectan a la configuración de la relativamente grande, necesidad de verificar si el cambio de configuración en línea con las expectativas, y luego empujó a todos los ejemplos de aplicación en algunos ejemplos de aplicación.

Nube Primavera Config apoyado por el parámetro de destino / autobús / punto final de refresco para especificar actualizar la configuración de la máquina, sino que todo el proceso no está automatizado y sistemático.

Apolo puede apuntar directamente en la consola de la máquina-gradación de liberación especificado el IP, seguido de la cantidad total liberada, hacer una comparación sistemática.

Nacos actualmente lanzado la versión 0.9, no apoya la liberación de escala de grises.

Gestión de derechos

Los cambios de configuración y cambios de código son los cambios en las carreras lógica de aplicación, es importante efecto de los cambios de configuración a menudo traen una bomba nuclear, por el permiso para cambiar las funciones de control y auditoría de configuración son también importante centro función de configuración.

Primavera Nube de configuración dependen de las capacidades de gestión de derechos Git y control de acceso de código abierto GitHub se puede dividir en administración, escribir y permisos de lectura, gestión de derechos más perfecto.

Apolo autoridad para administrar la configuración de las dimensiones del proyecto, dueño de un proyecto se puede delegar en otros usuarios permiso para modificar la configuración de liberación.

Nacos el momento no tienen las capacidades de gestión de permiso.

Control de versiones y Rollback

Cuando los cambios de configuración no están en línea con las expectativas cuando la necesidad de revertir dependiendo de la configuración de liberación. Nube Primavera Config, Apolo y Nacos todos tienen la capacidad de configurar y de versiones de deshacer, puede ver o cambiar el caso de la reversión de configuración de la consola. Nube Primavera Config realizado por la administración de versiones Git, más conveniente.

cheque formato de configuración

Los datos de configuración almacenados en la aplicación están generalmente dispuestos en un formato de almacenamiento de configuración central, tales propiedades, JSON, Yaml similares, si la configuración malformado, causa el cliente para analizar la configuración falla debido a fallo de la producción, el centro de distribución se puede configurar para comprobar el formato efectivamente prevenir la aparición de operación de error humano, se dispone en el centro de las funciones básicas sólo necesitan.
Primavera Nube de configuración usando Git, formato de la prueba todavía no es posible, se basan en la exactitud de su propio formato de I + D.
configuración de formato adecuado Apolo y Nacos será probado, el error humano se puede evitar efectivamente.

Escucha por solicitudes

Cuando la solución de problemas o de las estadísticas, lo que necesita saber qué aplicaciones utilizan una instancia de configuración a ser, así como un ejemplo de lo que la configuración de uso.
Primavera Nube de configuración usando cambios de primavera Nube de autobuses configuración push, primavera Nube autobús RabbitMQ compatibles, Kafka y consultas de apoyo Suscribirse Suscribirse relación del tema y de los consumidores.
Apolo puede ver una lista de lista de ejemplos de la configuración de la interceptación por medio de ejemplos de color gris, pero los ejemplos están escuchando configuración (Apolo conoce como un espacio de nombres) aún no se ha mostrado.

Nacos puede ver ejemplos de configuración del monitor, también se puede ver el ejemplo de configuración está escuchando.

Básicamente, estos tres productos tienen la capacidad de consulta del monitor, en nuestro propio curso, Nacos relativamente sencillo de uso, facilidad de uso es relativamente mejor.

múltiples entornos

En la producción real, a menudo necesitan configuración multi-centro o en un entorno multi-cluster, entorno de desarrollo de servicios puede ser distinguido en el desarrollo y producción, o entorno de producción, de acuerdo con una pluralidad de diferentes líneas de negocio. Si la interacción entre los diferentes entorno pequeño (impacto ambiental de la estabilidad desarrollo de la producción), el entorno de configuración central puede soportar múltiples de manera aislada lógico.

Primavera Nube de configuración de apoyo Perfil múltiples entornos aislados manera, mediante la disposición de un perfil pluralidad de perfiles en Git, el cliente comienza el perfil especificado puede acceder al archivo de configuración correspondiente.

Apolo ambiental también es compatible con varios ambientes, crear una configuración en la consola cuando deberíamos especificar una configuración en la que los parámetros de JVM de cliente especificado en el arranque ENV para acceder al perfil ambiental correspondiente.

Nacos apoyado a través de entorno multi-espacio de nombres, la configuración de cada espacio de nombres de aislamiento entre sí, el cliente especifica el espacio de nombres que desea acceder se puede lograr un aislamiento lógico.

Multi-cluster

Cuando los requisitos de alta estabilidad, no se permite el impacto ambiental de cada individuo cuando una pluralidad de entornos que requieren aislamiento físico por medio de la multi-cluster.

Primavera Nube de configuración puede configurar varios conjuntos de configuración del servidor, Git Git utilizar varios almacenes de la misma, para lograr el aislamiento físico.

Apolo puede construir varios conjuntos de grupos, la consola y actualizar los datos de Apolo empujan servicios desplegados por separado, para desplegar una consola puede controlar varios clústeres.

Nacos consola y servicios de configuración de back-end se implementan en conjunto, se puede cambiar para soportar múltiples agrupaciones en diferentes dominios.

Configuración en tiempo real la comparación de empuje

Cuando los cambios de configuración cuando la necesidad centro de distribución de aplicaciones en tiempo real de configure empujó al cliente.

nacos configuración y Apolo son empuje basado en HTTP sondeo largo, el cliente y el centro de distribución para establecer una conexión HTTP mucho tiempo, cuando los cambios de configuración, la configuración del centro de distribución empujado al cliente.

Análisis comparativo de los servicios de micro configuración arquitectura del centro de la corriente principal?

Nube Primavera configuración nativa no soporta configuración push en tiempo real, la necesidad de confiar en la web hook Git, Primavera Nube de autobuses y de cliente / bus / parámetros de actualización:

  • Git web hook base, los cambios de configuración de disparo de actualización del lado del servidor

  • Servidor recibe la solicitud y envía la primavera Nube autobús

  • Nube Primavera autobús recibió el mensaje y notifica al cliente

  • El cliente recibe una notificación solicitando clientes del servidor para obtener la configuración más reciente

Análisis comparativo de los servicios de micro configuración arquitectura del centro de la corriente principal?

por comparación general, Nacos y Apolo en la configuración del enlace de empuje en tiempo real es un relativamente simple y eficiente, empujar configuraciones primavera Nube de configuración incorporada primavera Nube autobús, un enlace de largo, más complejo.

Comparación estructura y despliegue disponibilidad

Nube Primavera Config

Primavera Nube de configuración contiene config-servidor, Git y primavera Nube autobús de tres componentes:

  • configuración config-servidor al cliente adquirida;

  • Git para el almacenamiento y la modificación de configuración;

  • Nube Primavera autobús notificar los cambios de configuración del cliente;

modo de prueba local, Primavera Nube autobús y necesidad de configuración del servidor para implementar un nodo, puede usar Git GitHub. En un entorno de producción, Primavera Nube Config, necesidad de configuración del servidor para desplegar al menos dos nodos. Nube Primavera autobús Si utiliza RabbitMQ, de modo común requiere al menos dos nodos del clúster.

Si está utilizando la disponibilidad del servicio GitHub Git no habría considerado la cuestión, si se quiere tener en cuenta la seguridad del repositorio Git privada de construcción propia, el costo total es relativamente alto. Los servicios Web se pueden implementar para soportar múltiples nodos alta disponibilidad, ya que Git tiene la consistencia de los datos, alta disponibilidad puede ser apoyado por las siguientes maneras:

  • Git + Keepalived modo de espera en frío, cuando el principal Git colgado se puede cortar inmediatamente para preparar Git;

  • despliegue de múltiples nodos Git, almacenamiento de datos o un sistema de archivos de red implementan utilizando múltiples nodos de sincronización DRBD Git;

Apolo

Apolo en MySQL, servicio de configuración, servicio de administración, Portal de cuatro módulos:

  • metadatos almacenamiento y de configuración de usuario de datos de Apollo MySQL;

  • Config Servicio proporcionar de configuración de lectura, la función de empuje, las solicitudes de clientes se dejan caer sobre servicio de configuración;

  • Servicio de administración proporciona modificar, publicar características tales como la configuración, el funcionamiento del servicio de Portal es servicio de administración;

  • Portal a la interfaz de gestión de la configuración de usuario;

prueba local de servicio de configuración, servicio de administración, Portal desplegaron tres módulos pueden combinarse entre sí, MySQL instalado por separado y crear la estructura de la tabla es necesario. Apolo utiliza en un entorno de producción, dos nodos pueden desplegarse por separado Portal, los requisitos de estabilidad, entonces no es tan alta, servicio de administración de servicio de configuración y se pueden implementar en conjunto, la redundancia de soporte de base de datos en espera.

Nacos

nacos implementación requiere Service nacos y MySQL:

  • Nacos proporcionan servicios a gestión de la configuración de apoyo y de descubrimiento de servicios;

  • MySQL proporciona almacenar datos persistentes nacos;

modo autónomo, Nacos base de datos integrada se puede utilizar para desplegar un nodo, puede comenzar. Si no está familiarizado MySQL, se quiere entender el flujo de los datos globales, se puede instalar MySQL para Nacos proporcionan datos persistencia servicios. Producción entornos necesidad de servicios Nacos, Nacos para desplegar al menos tres nodos, más el maestro y el esclavo MySQL.

total

estructura de despliegue nacos es relativamente simple, de bajo operación y mantenimiento. Apolo desplegar más componentes, operación y costo de mantenimiento es mayor que Nacos. Nube Primavera Config altos costos de producción de alta disponibilidad.

Comparación de soporte multi-idioma

varios sistemas de una empresa pueden variar idioma, que ahora se utiliza en más como C ++, Java, PHP, Python, nodejs, ir allí y así sucesivamente. Después de la introducción del centro de distribución, centro de distribución para conseguir sistemas multi-idioma pueden disfrutar de la posibilidad de configurar de forma dinámica, la necesidad de apoyar idiomas múltiples ecología.

Soporte multi-idioma

Servicios en la nube de primavera en el ecosistema de Java, inicialmente sólo para aplicaciones de micro-servicios de Java para servicios de micro-llaman aplicaciones no Java, puede utilizar el coche lateral proporciona HTTP API, pero la configuración dinámica tampoco está bien soportado.
Apolo ha apoyado varios idiomas, y proporciona API abierta. Otros idiomas no son compatibles, los costos de acceso Apollo son relativamente bajos.

idiomas nacos soporte estándar como Java, Go, Python, nodejs, PHP, también proporciona API abierta.

Compatibilidad de migración

compañía de Internet basada en Java de corriente doméstica todavía se basa, además de Java SDK nativo, en todo el ecosistema de Java, tales como el soporte de la primavera de arranque y Cloud primavera, los tres productos son compatibles.

Nube Primavera configuración original y el apoyo dotado de primavera de arranque de primavera de nubes, el apoyo Nacos muelle de arranque y la ecología de la nube de primavera por la nube de primavera de Alibaba, en línea con la aplicación Primavera eco estándar, pueden migrar sin problemas a partir de la primavera de la nube Conig a Nacos.

Apolo y primavera Nube Primavera arranque apoyan el proyecto, pero la implementación es diferente de la norma, no se puede hacer una migración transparente, la migración de la nube de primavera a Apolo, está la transformación de la compatibilidad de código y el costo.

Comparación de rendimiento

El rendimiento es también la configuración de un anillo alrededor del centro, pero, en las mismas especificaciones de la máquina, si pueden soportar un mayor volumen de negocio está obligado a salvar más costes de los recursos de la empresa, mejorar la utilización de los recursos. cliente de la aplicación tiene que configurar las operaciones de la interfaz notificación de lectura, escritura y el cambio central, debido a la notificación de cambio requiere una gran cantidad de instancia de cliente, un mal escenarios de simulación de pruebas, a continuación sólo de lectura y escritura para hacer la prueba.

entorno de hardware

Nacos Apolo y utilizar la misma base de datos (32C128G), la configuración 8C16G recipiente despliegue de la máquina para utilizar el servicio de servidor, el disco se 100G SSD.

edición

Primavera Nube Config utilizando la versión 2.0.0.M9, Apolo utilizando la versión 1.2.0 de liberación, Nacos versión 0.5.

escena sola lectura

El programa de pruebas de clientes mediante la implementación de varias máquinas, cada máquina de múltiples hilos abiertos a leer diferentes configuraciones (3000) desde el centro de distribución. Nacos QPS puede llegar a 15000, Apolo y leer en la memoria búfer de lectura de dos formas de la base de datos, se puede leer en una base de datos de 7500, de la memoria caché de rendimiento de lectura se puede lograr 9000QPS. capacidad de lectura de primavera Nube de configuración usando jGit escritura Git, debido a restricciones de clientes, independiente es 7QPS limitado.

Reading Nodo 3 Escena

El centro de nodos de medida de presión están dispuestos en tres nodos desplegados. Nacos QPS QPS puede llegar a 45000, Apolo leer la memoria caché hasta 27000 QPS. Y Apolo Nacos ya que cada nodo es independiente de la escena de lectura, es tres veces la relación básica entre la única escena de lectura. Nube Primavera Config tres nodos de capacidad puede alcanzar 21QPS lectura.

escenario de escritura independiente

De la misma manera, varias máquinas modificar simultáneamente las de configuración central diferentes configuraciones. Nacos QPS puede alcanzar 1800, base de datos predeterminada Apolo conjunto de conexiones de sin usar (10) solamente QPS alcanzar 800 QPS (CPU no plena presión), para ajustar el conjunto de conexiones 100 puede alcanzar 1100 QPS (CPU presión completa). Git será bloqueado en el momento de la presentación de un mismo proyecto, independiente Git puede escribir sobre 5QPS, Primavera Nube de configuración cuando se utiliza como una fuente de datos a un proyecto, capacidad de escritura Git es limitado.

3 escribir un nodo de escena

De la misma manera, el centro de nodos de medida de presión están dispuestos en tres nodos desplegados. Nacos QPS hasta 6000, Apolo puede alcanzar 3300 QPS (CPU) de presión total, entonces la base de datos MySQL, porque de alto perfil, se convierta en un cuello de botella. Primavera Nube de configuración de tiempo de tres nodos, Git es un nodo, escritura QPS 5.

En general, el más alto rendimiento de lectura y escritura de Nacos, Apolo seguido, Primavera Nube de configuración depende escenas Git no es adecuado para la operación y mantenimiento de la API abierta automatizado a gran escala.

Resumen de las características de comparación

Aquí está una lista de una tabla para resumir las características de los tres productos.

Análisis comparativo de los servicios de micro configuración arquitectura del centro de la corriente principal?

En general, Apolo y Nacos con respecto a las exigencias ecológicas de primavera de nubes Config un apoyo más amplio en el proceso de gestión de la configuración que se pueden hacer mejor. Apollo Nacos relativos hacer gestión de la configuración más completa, pero también utilizan algún trabajo. Nacos es relativamente sencillo de usar, más adecuado para las necesidades de alto rendimiento de escenas a gran escala.

Además, Nacos Además de proporcionar características de configuración centrada, proporciona también un descubrimiento de servicio dinámico, de intercambio y de gestión de servicios funciones, reduce la dificultad de proceso de transformación servicio.

Arriba, de la funcionalidad del producto, la experiencia del usuario, la aplicación y rendimiento de cuatro latitud de primavera Nube Config, Apolo y Nacos comparación. Sin embargo, para la selección de un proyecto de código abierto, además de lo anterior cuatro aspectos, la intervención humana (iteración progreso, la integridad del documento) en el proyecto, la comunidad actividad (número de emisión y la dirección de la velocidad, la cantidad Colaborador, intercambio comunidad frecuencia, etc.), el contenido del grado de normas de la comunidad (Negación, instrucciones de seguridad, etc.), que pueden ser lo que los usuarios están más preocupados.

Escrito en los últimos:

Doy la bienvenida a la atención de todos [número de público tranquilo como código ], artículos relacionados con los medios de Java, los materiales de aprendizaje serán actualizados en el interior, los materiales de acabado será en el interior.

Me siento bien para escribir en un punto de alabanza, más seguidores canto! Punto de atención, no se pierdan, actualiza continuamente! ! !

entrevista masiva, la arquitectura de intercambio de información

Análisis comparativo de los servicios de micro configuración arquitectura del centro de la corriente principal?

Supongo que te gusta

Origin blog.51cto.com/14570694/2480560
Recomendado
Clasificación