Skip to content
IRC-CodingIRC-Coding
Patrones de ArquitecturaC4ADRArquitectura HexagonalArquitectura en CapasCQRS

Patrones de Arquitectura: Guía Esencial

Aprende patrones de arquitectura, objetivos de calidad, C4, ADR, hexagonal, capas, microservicios y comunicación sync/async.

S

schutzgeist

2 min read
Patrones de Arquitectura: Guía Esencial

Patrones de Arquitectura

Este artículo es una explicación conceptual sobre patrones de arquitectura, incluyendo preguntas de examen, ejemplos y etiquetas.

En Pocas Palabras

Los patrones de arquitectura son estructuras de solución reutilizables a nivel de sistema. Describen el contexto, las fuerzas en juego, la solución y las consecuencias, con énfasis en objetivos de calidad como mantenibilidad, escalabilidad, seguridad y testabilidad.

Descripción Técnica Compacta

Un patrón de arquitectura define la estructura general del sistema (por ejemplo, capas, puertos y adaptadores, microservicios, flujos de eventos) e influye en los atributos de calidad.

Trade-offs importantes:

  • Consistencia vs. disponibilidad
  • cadenas RPC síncronas vs. mensajería asíncrona
  • base de datos centralizada vs. datos por servicio

Los sistemas modernos combinan patrones (por ejemplo, cortes de DDD más hexagonal por servicio). Relevante para el examen son la definición, las consecuencias, los escenarios de uso y los riesgos (por ejemplo, Distributed Monolith).

Puntos Clave para el Examen

  • Diferencias y consecuencias de monolito/microservicios
  • Arquitectura de capas más Inversión de Dependencias
  • Puertos y Adaptadores (hexagonal)
  • IHK: Nombrar objetivos de calidad más métricas (MTTR, latencia)
  • Seguridad: Zero Trust, Secretos, Auth entre servicios
  • Rentabilidad: costos operacionales y de licencia, cortes de equipo
  • Documentación: C4 (L1–L3) más ADRs

Componentes Fundamentales

  1. Contexto/Supuestos
  2. Problema más fuerzas
  3. Estructura/Bloques
  4. Estilo de comunicación (síncrono/asíncrono)
  5. Estrategia de datos
  6. Interfaces/Protocolos
  7. Build/Test/Deploy/Observability
  8. Elementos de arquitectura (capas, adaptadores)
  9. Seguridad (AuthN/AuthZ, aislamiento)
  10. Tests (Contract/Chaos)

Ejemplo Práctico (hexagonal, muy simplificado)

Domain: Order.confirm() genera Domain Event
Application Service orquesta Use Case
Ports definen Contracts (Repo, Bus)
Adapter acoplan REST, SQL, Kafka

Ventajas y Desventajas

Ventajas

  • Mejor capacidad de cambio
  • Testabilidad
  • Atributos de calidad dirigidos

Desventajas

  • Mayor complejidad
  • Infraestructura/Observability necesarias
  • Riesgo de Distributed Monolith

Preguntas Típicas de Examen (con Respuesta Corta)

  1. ¿Cuándo es útil la arquitectura de capas? Cuando hay responsabilidades claras; las dependencias apuntan hacia adentro.
  2. Microservicios vs Monolito: ¿Diferencia clave? Deployment/almacenamiento de datos/transacciones.
  3. ¿Qué logra la arquitectura hexagonal? Separa la lógica central de las entradas/salidas a través de puertos y adaptadores.

Respuesta Abierta

Aprende los patrones a través de problema, fuerzas, solución y consecuencias. Documenta las decisiones de arquitectura como ADRs y visualiza con C4.

Estrategia de Aprendizaje

  1. Esboza C4 para un sistema.
  2. Por cada caso de uso marca caminos síncronos/asíncronos.
  3. Practica definiciones cortas más trade-offs.
  4. Nombra riesgos y contramedidas.

Información Adicional

  1. https://microservices.io/patterns
  2. https://c4model.com/
  3. https://martinfowler.com/architecture
Volver al blog
Share:

Nächster Artikel in Arquitectura de Software

Weiterlesen
Patrones de Arquitectura de Software: Guía Completa

Entradas relacionadas