Nacos——Introducción a Nacos e instalación de Nacos Server

Fuente: 02-Gestión de configuración de Nacos - ¿Qué es Configuration Center?_哔哩哔哩_bilibili

¡Recuerde descargar la versión 2.x de nacos y será responsable del error de publicación, verifique si los parámetros son correctos cuando cree una nueva configuración en el futuro! ! ! !

Tabla de contenido

1. Introducción a Nacos

1.1 Cuatro funciones principales:

1.2 Comparación

2. Centro de configuración

2.1 ¿Qué es la configuración?

  2.1.1 Características 

2.2 ¿Qué es el Centro de configuración?

3. Instalación del Servidor Nacos

3.1 Descarga de archivos

3.2 Iniciar el servidor (modo Windows)

3.3 Prueba de gestión de configuración de API ABIERTA

 3.3.1 Instalación de la herramienta de rizo

 3.3.2 Configuración de publicación

 3.3.3 Obtener configuración

 3.3.4 Apagar el servidor (modo Windows)

 3.3.5 Compatibilidad con bases de datos MySQL externas


1. Introducción a Nacos

Nacos es un producto de código abierto de Ali, una solución integral para el descubrimiento de servicios, la gestión de la configuración y el gobierno de servicios en la arquitectura de microservicios .

1.1 Cuatro funciones principales:

① Detección de servicios y comprobación del estado del servicio

     Nacos facilita que los servicios se registren y descubran otros servicios a través de interfaces DNS o HTTP . Nacos también proporciona comprobaciones de estado de los servicios en tiempo real para evitar que se envíen solicitudes a hosts o instancias de servicio en mal estado.

②Gestión de configuración dinámica

     Los servicios de configuración dinámica le permiten administrar de forma centralizada y dinámica la configuración de todos los servicios en todos los entornos. Nacos elimina la necesidad de volver a implementar aplicaciones al actualizar las configuraciones, lo que hace que los cambios de configuración sean más eficientes y flexibles.

③Servicio de DNS dinámico

     Nacos proporciona capacidades de detección de servicios basadas en el protocolo DNS (Nacos no solo realiza la detección de servicios basada en HTTP, sino que también puede realizar la detección de servicios a través del protocolo DNS), cuyo objetivo es respaldar la detección de servicios en lenguajes heterogéneos y admite servicios registrados en Nacos en la forma de nombres de dominio Expone puntos finales, lo que permite que las aplicaciones de terceros los vean y los descubran fácilmente.
④ Gestión de servicios y metadatos
    Nacos le permite administrar todos los servicios y metadatos en el centro de datos desde la perspectiva de la construcción de la plataforma de microservicios, incluida la descripción del servicio de administración, el ciclo de vida, el análisis de dependencia estática de los servicios, el estado de salud de los servicios, la administración del tráfico de los servicios, el enrutamiento y las políticas de seguridad.
Las características de la gestión de configuración dinámica aquí ilustran las capacidades de gestión de configuración de Naocs.

1.2 Comparación

      Desde la perspectiva del centro de configuración, en términos de rendimiento, Nacos tiene el rendimiento de lectura y escritura más alto, seguido de Apollo El escenario en el que Spring CloudConfig se basa en Git no es adecuado para las API abiertas de operación y mantenimiento automatizadas a gran escala . En cuanto a funciones , Apollo es el más completo, Nacos tiene la mayoría de las funciones de gestión de configuración de Apollo , mientras que SpringCloud Config no tiene una interfaz de gestión de operación y mantenimiento y necesita ser desarrollado por sí mismo. Una de las principales ventajas de Nacos es que integra las funciones del centro de registro y del centro de configuración, en comparación con la implementación y la operación.

Apollo debe ser intuitivo y simple, por lo que simplifica la complejidad de la arquitectura y reduce el trabajo de operación y mantenimiento y despliegue.

2. Centro de configuración

En general, el centro de configuración es un componente de servicio básico que administra varias configuraciones de aplicaciones de manera unificada

2.1 ¿Qué es la configuración?

       Cuando una aplicación se inicia y ejecuta, muchas veces necesita leer alguna información de configuración, la configuración básicamente va acompañada de todo el ciclo de vida de la aplicación, tales como: parámetros de conexión a la base de datos, parámetros de inicio, etc.

  2.1.1 Características 

La configuración es una variable de solo lectura    independiente del programa
       La configuración es de solo lectura para el programa, el programa cambia su comportamiento al leer la configuración, pero el programa no debe cambiar la configuración
   Configurar todo el ciclo de vida de la aplicación que lo acompaña
        
      La configuración se ejecuta durante todo el ciclo de vida de la aplicación. La aplicación se inicializa al leer la configuración en el inicio y ajusta el comportamiento de acuerdo con la configuración en el tiempo de ejecución.
      Por ejemplo: el número de puerto del servicio debe leerse al iniciarse y la política de sincronización debe leerse para ejecutar tareas de sincronización durante la ejecución del sistema.
    La configuración se puede cargar de múltiples maneras
      Los más comunes incluyen código duro dentro del programa , archivos de configuración, variables de entorno, parámetros de inicio, basados ​​en bases de datos, etc.
    La configuración necesita gobernanza
        Un mismo programa a menudo necesita tener diferentes configuraciones en diferentes entornos (desarrollo, pruebas, producción) y diferentes clústeres (como diferentes centros de datos), por lo que es necesario tener una gestión completa de la configuración del entorno y del clúster.

2.2 ¿Qué es el Centro de configuración?

       En la arquitectura de microservicios, cuando el sistema se divide de una sola aplicación a nodos de servicio en un sistema distribuido, los archivos de configuración también se deben migrar (dividir), de modo que la configuración se disperse. No solo eso, sino que también contiene redundancia, como mostrado a continuación:
   Para evitar la redundancia, podemos crear un centro de configuración y dejar que todos los servicios lean los archivos de configuración del centro de configuración.
   
   Es decir, la configuración está separada de cada aplicación, y la configuración es gestionada por el centro de configuración de forma unificada, no es necesario que la aplicación en sí misma gestione la configuración.

El proceso se muestra en la siguiente figura: todo el proceso es muy inteligente

Entonces, ¿cómo obtener la última configuración?
   Por ejemplo, a través de algunos protocolos de red, los protocolos de red remotos se leen.
¿Por qué leerlo a través del protocolo de red remota?
   El centro de configuración es un servicio que se despliega de forma independiente, puede estar en un servidor independiente, el servicio A y el servicio B están ambos en un servidor independiente, entonces el acceso solo se puede leer a través del protocolo de red remota.
    

3. Instalación del Servidor Nacos

Nacos se basa en el entorno Java para ejecutarse. Si está compilando y ejecutando Nacos desde el código , también debe configurar el entorno Maven para esto.
 
Recomendar nacos 2.x jdk 1.8+ Maven 3.2.x+ mysql 5.6.5+ 

3.1 Descarga de archivos

Lanzamientos · alibaba/nacos (github.com)

Descargue el siguiente archivo y descomprímalo, tenga cuidado de no tener chino en la ruta
       El archivo que termina en ".gz" es la versión de Linux, necesitamos descargar el que termina en zip

 

El siguiente es el directorio de archivos después de la descompresión

3.2 Iniciar el servidor (modo Windows)

   El puerto predeterminado de Nacos es 8848, por lo que debemos asegurarnos de que este puerto no esté ocupado por otros procesos.

 Comando de inicio:

cmd startup.cmd
   
    O haga doble clic en el archivo startup.cmd directamente

De cualquier manera, la siguiente página aparecerá después de ejecutarse con éxito, y luego copie el lugar marcado en rojo a continuación, este lugar puede ser diferente para todos

 

Si la ventana de ejecución de cmd parpadea después de hacer doble clic, puede consultar el artículo de la siguiente persona, que es realmente genial

(34 mensajes) Flashback de inicio de NACOS_ Blog de Qianye antes del amanecer-CSDN blog_flashback de inicio de NACOS

Después de ingresar la dirección y presionar Enter, aparecerá la siguiente página

    Nombre de usuario predeterminado: nacos Contraseña predeterminada: nacos   

    Ingrese la contraseña para ingresar a la interfaz principal

3.3 Prueba de gestión de configuración de API ABIERTA

3.3.1 Instalación de la herramienta de rizo

Después de iniciar nacos con éxito, puede verificar si el servicio de nacos se ejecuta normalmente a través de httpapi proporcionado por nacos .
A continuación usamos la herramienta curl para probar el openapi de nacos :
curl es una herramienta de línea de comandos de uso común en desarrollo y se puede usar para probar el protocolo HTTP .
Descargue la versión de Windows de curl : curl-7.66.0_2-win64-mingw , dirección de descarga: https://curl.haxx.se/windows/
También puede extraer datos del disco de red de Baidu compartido anteriormente

Una vez completada la descarga, ingrese al directorio bin de curl-7.66.0_2-win64-mingw y realice la siguiente prueba. A través de la prueba, puede juzgar si nacos funciona normalmente.

 3.3.2 Configuración de publicación

   Mire con atención, esta es una solicitud POST

curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=HelloWorld"

Ejecute el comando anterior en la ventana cmd, si tiene éxito, aparecerá la palabra "verdadero"

Después de que true aparezca en este momento, abrimos la página de Nacos nuevamente, lista de configuración -> consulta -> aparecerá la siguiente configuración, esta es nuestra información de configuración

Haga clic a la derecha para más detalles

El contenido de la configuración aparecerá en la página siguiente, el contenido de la configuración corresponde al comando que acabamos de ejecutar.

    Corresponde al contenido después de "content="

3.3.3 Obtener configuración

 Nuestra computadora es un cliente, queremos obtener datos de nacos

 Después de publicar correctamente la configuración en nacos , puede obtener la información de configuración de nacos a través del cliente y ejecutar el siguiente comando:
   
       Se puede obtener la solicitud GET
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"

Cuando lanzamos la configuración, especificamos un ID de datos, grupo, contenido

Entonces, cuando obtengamos la configuración, debemos especificar el ID de datos y el grupo, y luego podemos obtener el contenido del contenido, como se muestra en la figura a continuación.

3.3.4 Apagar el servidor (modo Windows)

cmd shutdown.cmd

O una forma más directa es cerrar la ventana directamente

O haga doble clic en shutdown.cmd para ejecutar el archivo

3.3.5 Cambiar a soporte de base de datos MySQL externa

Como se muestra en la figura a continuación, habrá algunos datos en nacos. En modo independiente, nacos utiliza una base de datos integrada para almacenar datos de forma predeterminada.

      MySQL y SQL Server Estas bases de datos pertenecen al servidor de bases de datos

      SQLite , Berkeley DB, etc. son bases de datos integradas

La mayor diferencia entre       las bases de datos integradas y los servidores de bases de datos es que operan en diferentes espacios de direcciones .

      Por lo general, el servidor de la base de datos ejecuta un demonio de forma independiente, mientras que la base de datos integrada se ejecuta en el mismo proceso que la aplicación.

Si desea utilizar mysql externo para almacenar datos de nacos , debe realizar los siguientes pasos:
1. Instale la base de datos , requisitos de versión: 5.6.5+ , debajo de mysql8
2. Inicialice la base de datos mysql, cree una nueva base de datos nacos_config , archivo de inicialización de la base de datos: $ {nacoshome}/conf/nacos-mysql.sql
    Importe el siguiente archivo a la base de datos

 

La siguiente es la tabla requerida por nacos

3. Modifique el archivo ${nacoshome}/conf/application.properties , agregue soporte para la configuración de la fuente de datos mysql (actualmente solo se admite mysql) y agregue la URL , el nombre de usuario y la contraseña de la fuente de datos mysql .

 Copie la siguiente declaración en el archivo anterior

 spring.datasource.platform=mysql
 
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true 
db.user=nacos_devtest
db.password=youdontknow

 Si la declaración anterior no funciona, podemos usar la siguiente, que tiene una zona horaria más serverTimezone=UTC que la configuración anterior. Además, también cambié el nombre de la base de datos a nacos. Tanto este archivo como la base de datos en MySQL tienen cambiado, porque cuando usé lo anterior, me seguía dando el error "com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: base de datos desconocida 'nacos_config'", pero después de modificarlo, descubrí que no había tal problema No sé la razón.

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&serverTimezone=UTC&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
127.0.0.1:3306 Porque está en mi máquina local, es 127.0.0.1 y el número de puerto de MySQL es 3306

  nacos_config indica el nombre de la base de datos (luego lo cambié a nacos)

   db.user , db.password representan el nombre de usuario y la contraseña de la base de datos  

reiniciar nacos

 Vuelva a ingresar a la página web y encuentre que no hay datos, porque hay una tabla vacía en nuestra base de datos, muestra que no hay datos, esto es normal

Supongo que te gusta

Origin blog.csdn.net/weixin_51351637/article/details/129011544
Recomendado
Clasificación