Autor: Zen y el arte de la programación informática
1. Introducción
Nacos es el centro de servicios de código abierto de Alibaba para el descubrimiento, la configuración y la gestión de servicios dinámicos basados en microservicios. No solo admite centros de datos múltiples y entornos entre nubes, sino que también admite plataformas de gestión de contenedores como Kubernetes y Mesos. Este artículo presentará Nacos desde los siguientes aspectos:
- Comprensión conceptual y características funcionales.
- Centro de configuración
- centro de registro de servicios
- Consola distribuida
- Acceso de clientes y ejemplos
- Herramientas de gestión de operación y mantenimiento.
- Integrando Nacos en Spring Boot
- Detalles de uso de Nacos
- Funciones extendidas de Spring Cloud Alibaba para Nacos
Espero que al leer este artículo puedas comprender mejor Nacos y aplicarlo a entornos de producción reales.
2. Explicación de conceptos y términos básicos
2.1 Descubrimiento de servicios y gobernanza de servicios
El descubrimiento de servicios y la gobernanza de servicios son una de las capacidades importantes de los sistemas distribuidos. Bajo una arquitectura de microservicio, una solicitud puede requerir la colaboración de múltiples servicios para completarse y, a menudo, existen dependencias entre estos servicios. Cómo gestionar los enlaces de dependencia y garantizar la disponibilidad del servicio se convierte en la clave para la gobernanza del servicio. Por lo tanto, el descubrimiento de servicios y la gobernanza de servicios pueden ayudar a quienes llaman a servicios bajo la arquitectura de microservicios a realizar una comunicación automatizada entre servicios. El descubrimiento de servicios suele tener dos modos: modo cliente y modo servidor.
- Modo cliente: el cliente encuentra el proveedor de servicios especificando el nombre del servicio y almacena en caché la información de la dirección del proveedor de servicios para realizar el descubrimiento del servicio. Dado que el modo cliente depende de su propio lenguaje de programación y pila de protocolos de red, el modo cliente no se puede utilizar directamente y solo se puede implementar a través de componentes de terceros como ZooKeeper y Etcd. Además, el modo cliente requiere escribir manualmente algún código o SDK para el descubrimiento de servicios.
- Modo del lado del servidor: una vez que se ejecuta el proveedor de servicios, informará la información de su servicio al centro de registro (como ZooKeeper)