Estilos arquitectónicos
Un estilo no se elige por moda: se elige a partir de las características que priorizaste. Primero decidís qué tiene que cumplir el sistema; recién después mirás qué estilo lo cumple con el costo que estás dispuesto a pagar.
Los estilos que conviene tener a mano
- En capas: capas horizontales —presentación, negocio, persistencia—, cada una con su responsabilidad definida. Su costo típico es la modularidad estructural: un cambio atraviesa varias capas y todo se despliega junto.
- Monolito modular: una sola unidad desplegable, dividida por dentro en módulos de dominio poco acoplados.
- Microkernel (plug-in): un núcleo mínimo más módulos que se agregan de forma independiente. El estilo de los productos extensibles.
- Service-based: pocos servicios gruesos y desplegables por separado, en vez de muchos finos.
- Event-driven: componentes que reaccionan a eventos, en dos topologías canónicas.
- Space-based: para carga alta y muy variable; replica datos en memoria y saca la base central del camino crítico.
- Microservicios: servicios chicos, alineados a capacidades de negocio y con datos propios.
Broker y mediator
En broker no hay coordinador central: los procesadores se hablan por un message broker. Gana desacople, paralelismo y tolerancia a fallos; pierde control central del flujo. En mediator un componente central orquesta el flujo de varios pasos: gana control y manejo de errores, resigna algo de desacople.
No hay estilo mejor en abstracto, y monolito contra microservicios sigue siendo un debate abierto: depende del contexto.