Architecture notes - part 1

Topic Description Key Concepts & Strategies Recommended Resources / Links
Distributed Systems Fundamentals Core principles behind designing systems that work across multiple nodes in a scalable and resilient way. • Load balancing & scalability
• Data partitioning (sharding)
• Fault tolerance & recovery
• CAP theorem & consistency models
Distributed Systems for Fun and Profit
CAP Twelve Years Later
Caching Strategies Techniques to improve performance by temporarily storing data closer to the application/user. • In‑memory vs. distributed caching
• Cache invalidation & expiration policies
• Balancing consistency vs. performance
An Introduction to Caching – DigitalOcean
Redis Introduction
Architectural Patterns High‑level approaches to system organization for scalability, maintainability, and resilience. • Microservices vs. monolithic architectures
• Event‑driven architecture
• Service-oriented patterns
• When to centralize cross‑cutting concerns vs. decentralize them
Microservices vs Monolith: Which Architecture is Right for You
Event‑Driven Architecture: A Key to Modern Software
Rate Limiter Pattern Patterns for controlling the rate of incoming requests to prevent system overload. • Fixed window, sliding window, and token bucket algorithms
• Trade‑offs between simple implementation and smooth request distribution
How to Build a Rate Limiter
Implementing a Rate Limiter in Node.js
API Gateway & Service Mesh Patterns Patterns for managing and routing traffic to microservices and handling cross‑cutting concerns. • Centralized API gateway vs. decentralized service mesh
• Authentication, routing, and load balancing at the gateway
• Observability and security for inter‑service calls
What is an API Gateway? – NGINX
What is a Service Mesh? – Istio
Distributed Cache Pattern Patterns for caching data across multiple nodes to improve system performance and reduce latency. • Ensuring cache coherence
• Invalidation strategies and expiration policies
• Balancing data freshness with performance benefits
Distributed Cache in Spring – Baeldung
Redis Caching – Redis Documentation
Read More