Categorías
- Redes (10)
- Git y GitHub (11)
- Desarrollo de software (21)
¿Qué es la topología?

Definición de topología
Se puede definir como la composición abstracta de algo; nos ayuda con la representación de relaciones entre los nodos. Podemos imaginarlo como un estilo de arquitectura que define las relaciones entre componentes. Como tal, no es la forma exacta, sino la forma abstracta de un sistema que se puede moldear para que cumpla con los requerimientos específicos del sistema.
Estas son las topologías más comunes en arquitectura de software:
- Monolítica: en ella, los componentes del sistema están integrados en un solo bloque o unidad. Todas las funcionalidades residen en una única aplicación.
- Ejemplo: una aplicación web tradicional donde la lógica de negocio, la interfaz de usuario y la gestión de datos están contenidas en un solo proyecto.
- Cliente/Servidor: el sistema se divide en dos componentes principales: el cliente, que interactúa con el usuario, y el servidor, que gestiona la lógica de negocio y los datos.
- Ejemplo: una aplicación web donde el navegador actúa como cliente y un servidor web procesa las solicitudes y devuelve las respuestas.
- Arquitectura de microservicios: el sistema se divide en servicios pequeños e independientes que se comunican entre sí a través de APIs. Cada microservicio se encarga de una parte específica de la funcionalidad total del sistema.
- Ejemplo: un sistema de comercio electrónico donde los servicios de pago, inventario y gestión de usuarios están separados y se comunican entre ellos a través de servicios web.
- Arquitectura en capas: el sistema se organiza en capas que cumplen diferentes responsabilidades, como presentación, lógica de negocio y acceso a datos. Cada capa se comunica con la adyacente.
- Ejemplo: una aplicación empresarial donde la interfaz de usuario, la lógica de negocio y la base de datos están separadas en capas distintas.
- Arquitectura en malla: los servicios en una arquitectura de malla están conectados entre sí de manera más dinámica y flexible, permitiendo la comunicación directa entre ellos sin pasar por un intermediario central.
- Ejemplo: un sistema de microservicios que utiliza un servicio de malla para manejar la comunicación entre servicios sin tener que pasar por un controlador o API Gateway central.
- Arquitectura orientada a eventos: los componentes del sistema se comunican a través de eventos, donde un evento desencadena la ejecución de uno o más componentes sin necesidad de una interacción directa.
- Ejemplo: un sistema de notificaciones que envía correos electrónicos automáticamente cuando se produce un evento específico, como la creación de una nueva cuenta de usuario.
También es importante tener en cuenta que la topología afecta directamente la escalabilidad, mantenibilidad y rendimiento del sistema. Por lo tanto, elegir la topología del sistema influye directamente en el comportamiento y las capacidades del sistema en producción.