技术组件
System Design · 16 notes
- Designing a TCP Frameworkhistorical
A short historical design note covering requirements, diagrams, implementation sequences, and C10K.
- Designing a Cache Middlewarehistorical
A historical note on basic operations, concurrency safety, eviction, and distributed cache forms.
- Designing a TCP Connection Poolhistorical
A historical note on TCP connection pooling and examples for MySQL, Redis, and HTTP clients.
- Designing an RPC Frameworkhistorical
A historical note on RPC transport, protocol framing, serialization, stubs/reflection, service discovery, resilience, async calls, and graceful shutdown.
- Designing a Rate-Limiting Systemhistorical
A historical note comparing fixed windows, sliding windows, leaky buckets, and token buckets, with Go implementations.
- Designing an Open APIhistorical
A historical note on authentication, signatures, replay protection, rate limiting, and IP allowlists for open APIs.
- Designing an Asynchronous Systemhistorical
A historical note on asynchronous processing, event-driven design, and consistency/order concerns.
- Designing an Isolation Systemhistorical
A historical note on storage, service, and resource isolation, including Set deployment.
- Designing a Circuit-Breaker Systemhistorical
A historical note on circuit breaking, the circuit-breaker pattern, and its difference from rate limiting.
- Designing a Degradation Systemhistorical
A historical note on service degradation, when to use it, and several degradation approaches.
- Designing Timeout and Retryhistorical
A historical note on timeout duration, retryable errors, backoff, idempotency, and retry counts.
- Designing a Feature-Switch Systemhistorical
A short historical note on feature switches and configuration-center implementation.
- Designing a Playbook Systemhistorical
A very short historical note on predefined operational scenarios composed of multiple switches.
- Designing an Error Systemhistorical
A historical note on error classification, error codes, context, propagation, logging, and caller-facing error handling.
- Designing Object Poolinghistorical
A historical note on pooling, its parameters, capacity sizing, and common applications.
- Designing a Cache Systemhistorical
Historical notes on cache layers, cache usage, consistency, cache update patterns, fallback to the source, penetration, breakdown, and avalanche.