1. OAuthhistorical

    Historical OAuth 2.0 notes covering why OAuth is needed, the authorization flow, grant modes, token refresh, and scopes.

  2. How to Design a Configuration Centerhistorical

    What a configuration center is, why it is needed, storage, client notification, service discovery, caching, canary release, and an example configuration-center database design.

  3. How to Design a Load-Balancing Componenthistorical

    What load balancing is, why it is needed, common algorithms, hardware/software/DNS choices, L2/L3/L7 approaches, and client-side versus server-side load balancing.

  4. How to Design a Service Registryhistorical

    What a service registry is, why it is needed, server-side and client-side design, service discovery and routing, registry components, and ZooKeeper versus Eureka.

  5. How to Design an API Gatewayhistorical

    What an API gateway is, why it is needed, request forwarding and filtering, I/O models, common gateway components, BFF, and gateway aggregation.

  6. How to Design a Monitoring Systemhistorical

    What monitoring is, why microservices need it, and the three parts: logs, metrics, and tracing.

  7. How to Design Distributed Tracinghistorical

    What tracing is, why it is needed, Span/Trace/Annotation data, sampling, collection approaches, storage, display, and common tracing components.

  8. How to Design a Fault-Tolerance Componenthistorical

    What fault tolerance is, service avalanche, and common techniques including timeouts, retries, rate limiting, circuit breaking, isolation, and degradation.

  9. How to Design Log Monitoringhistorical

    What log monitoring is, why it is needed, logging strategy, collection, aggregation, indexing and storage, analysis, and ELK.

  10. How to Design Metrics Monitoringhistorical

    What metrics monitoring is, why it is needed, what to monitor, how to collect and store metrics, alerting, and common metrics components.