Explain the difference between Vertical and Horizontal Scaling.
Updated Apr 28, 2026
Short answer
Vertical scaling is adding more power (CPU/RAM) to a machine; Horizontal scaling is adding more machines.
Deep explanation
Mid-level architecture focuses on system interactions and decoupling. Dependency Injection is a key tool here, allowing for easier testing and modularity. You also begin to encounter trade-offs in distributed systems, such as those described by the CAP theorem. The goal shifts from 'writing good code' to 'designing good components'.
Real-world example
Using a message broker like RabbitMQ to decouple a 'Payment' service from an 'Email Notification' service.
Common mistakes
- Using CQRS for a simple CRUD application, leading to unnecessary complexity and data synchronization issues.
Follow-up questions
- What is the 'Inversion of Control' container?