Separación Horizontal de Microservicios: Implementación y Beneficios
Clase 21 de 29 • Curso de Node.js: Autenticación, Microservicios y Redis
Contenido del curso
Creando la estructura principal
Autenticación basada en tokens
- 7

Autenticación y Seguridad con Tokens JWT en Aplicaciones Web
07:42 min - 8

Autenticación de Usuarios con JWT y Gestión de Contraseñas Seguras
10:18 min - 9

Implementación de Login Seguro con JWT y Cifrado de Contraseñas
13:40 min - 10

Cifrado de Contraseñas con Bcrypt en Aplicaciones Node.js
06:00 min - 11

Autenticación y Autorización con JWT en Node.js
12:54 min - 12

Implementación de Autenticación y Autorización en Aplicaciones Web
06:55 min - 13

Manejo de Errores y Seguridad en Aplicaciones Node.js
08:16 min
Almacenando datos: MySql
Microservicios en Node
- 18

Arquitectura de Microservicios: Separación y Gestión Eficiente
06:06 min - 19

Creación de Microservicios para Bases de Datos con Node.js
12:56 min - 20

Conexión y Configuración de Microservicios de Bases de Datos Remotas
12:04 min - 21

Separación Horizontal de Microservicios: Implementación y Beneficios
Viendo ahora - 22

Gestión de Microservicios en Producción con PM2
10:22 min
Puesta en producción serverless
Cacheando nuestra aplicación
Puesta en producción en virtual machine
En nuestro viaje hacia una arquitectura de microservicios eficiente, es esencial comprender cómo dividir y escalar nuestros servicios correctamente. En la clase anterior se abordó cómo trasladar bases de datos a un entorno de microservicios; sin embargo, se destacó la importancia de adaptar esta estrategia a distintos entornos, como la necesidad de exponer servicios por HTTPS. A continuación, profundizaremos en la separación vertical y horizontal de microservicios y su escalabilidad con prácticas recomendadas para gestionarlos.
¿Qué es la separación vertical de microservicios?
La separación vertical implica la distribución de distintos procesos o servicios entre múltiples microservicios. A menudo se visualiza como 'pilas' de funcionalidades agrupadas basadas en su uso o propósito específico. Por ejemplo:
- Base de datos en un servicio
- Caché en otro servicio
- Cada proceso en su microservicio dedicado
Esta estrategia es útil cuando un sistema empieza a crecer en complejidad, evitando que un único proceso maneje múltiples responsabilidades.
¿Cómo evitamos problemas al crecer como un monolito?
Si un monolito, como una API que gestiona la autenticación de usuarios y la gestión de publicaciones, comienza a expandirse con numerosas entidades, pueden surgir problemas. Estos problemas incluyen complejidad de gestión, dificultades en escalabilidad y riesgos de seguridad al manejar todas las funcionalidades en un solo proceso.
Para evitar esto, se recomienda:
- Evaluar si la división a microservicios se realiza de manera lógica
- Asegurarse de que la estructura escogida no implique problemas futuros al escalar
¿Qué significa separar horizontalmente un microservicio?
La separación horizontal trata de dividir un microservicio en sus capas funcionalmente, como la red, el controlador y los datos. Esto permite que cada capa pueda escalar o modificarse de forma independiente.
Por ejemplo, para separar el manejo de publicaciones (posts) de una API monolítica, se crearía un microservicio específico que incluiría:
- Carpetas y archivos específicos para el servicio de posts
- Configuraciones y puertos dedicados para ese microservicio
- Gestión de base de datos específica para los posts
¿Cómo gestionamos múltiples microservicios eficientemente?
Al tener varios microservicios, se presenta el desafío de gestionarlos sin complicaciones. Imagina el manejo manual de cientos de servicios, lo cual resulta impracticable.
En próximas clases exploraremos cómo:
- Gestionar múltiples microservicios con herramientas y prácticas profesionales
- Automatizar el despliegue y la administración de servicios para mantener la productividad y escalabilidad
La clave del éxito en la gestión de microservicios radica en la capacidad para mantener un sistema organizado, escalable y eficiente. Mantén la curiosidad y el entusiasmo por aprender, ya que cada paso que das en este aprendizaje te acerca más a crear sistemas robustos y resilientes. ¡Nos vemos en la próxima clase para continuar este fascinante viaje en el mundo de la arquitectura de microservicios!