GoodNotes Architect Journal
🏠 Index 1. Single Server 2. Selecting DB 3. Relational & SQL 4. ACID Integrity 5. NoSQL Types 6. Scaling Guide 7. Load Balancing 8. SPOF & HA 9. API Design 10. Comm Protocols 11. TCP & UDP 12. REST Design 13. GraphQL Architecture 14. Authentication Protocols 15. JWT & OAuth 2 16. Authorization Models
System Design Chapter 6

System Scaling Strategies

Vertical vs Horizontal Scaling & Load Balancing

★ Scaling out with stateless application servers is the backbone of high availability!
📈 Vertical Scaling (Scale Up)

Adding resources (CPU, RAM, SSDs) to the same single server node.

  • Pros: Simple setup; no code alterations required.
  • Cons: Hardware capacity ceiling & SPOF risk.
🌐 Horizontal Scaling (Scale Out)

Adding more server instances and distributing incoming traffic using a Load Balancer.

  • Pros: Infinite horizontal growth & zero downtime availability.
  • Cons: Complex state sync & network management.
⚖️ Load Balancer Horizontal Scaling Architecture
👥 Clients
➔ Request ➔
⚖️ Load Balancer
Traffic Router
➔ Distribute ➔
Server Node 1
Server Node 2
Server Node 3