Architectural Patterns & Styles
Foundations / Architectural Patterns & StylesA style is the overall shape of a system. Split monolithic vs distributed. No style wins in the abstract — each is a bundle of trade-offs.
layeredLayered / modular monolithMonolithic. Layered is simple, cheap, but scales poorly. Modular monolith adds domain modules while keeping one deployment.
microkernelMicrokernel (plug-in)Minimal core + plug-ins. Best for product extensibility and customization.
eventEvent-drivenAsync events (broker/mediator). High scalability, performance, fault tolerance; hard to test and trace.
microservicesMicroservices / space-basedMicroservices: scalability + deployability at high complexity. Space-based: extreme elasticity via in-memory units, no central DB in path.
⚑Rank the driving characteristics first, then match a style's trade-off profile. Expect to blend styles rather than force one everywhere.
Fit over fashionA 50-user internal tool -> layered. A spiky real-time bidding subsystem -> event-driven / space-based.
Microservices mythNot 'modern therefore better' — a trade of simplicity and performance for scalability and deployability.
styleslayeredmicroservicesevent-drivenspace-basedtrade-offs