Architecting High-Concurrency Feeds: The Fan-Out Pattern
Learn how the fan-out pattern solves the read-latency problem in social feeds and why a hybrid push/pull model is necessary to handle celebrity accounts and write amplification.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how the fan-out pattern solves the read-latency problem in social feeds and why a hybrid push/pull model is necessary to handle celebrity accounts and write amplification.
A minimal yet robust architecture for a Twitter‑style timeline: decouple ingestion, use a fan‑out cache, enforce data boundaries, and monitor key metrics to keep latency low and privacy intact.
Explore how Twitter transitioned from a Ruby monolith to a JVM-based microservices architecture to solve the 'celebrity problem' using a hybrid fan-out strategy.
Explore how Twitter's fan-out architecture optimizes read latency by shifting the computational burden from the reader to the writer, and how a hybrid model handles the 'celebrity' scale problem.
Guide to programmatically publishing tweets using Twitter API v2. Covers OAuth 2.0 PKCE flow, required scopes, curl implementation, and error recovery.
Goal Establish a repeatable Twitter API v2 sandbox environment that preserves created users, tweets, and follows across test runs to enable deterministic integration testing in CI pipelines. Constraints The sandbox automatically deletes all entities after each session and provides no export/import or configurable seed mechanism. Rate‑limit headers returned b
The X API v2 employs window-based rate limiting, typically measured in 15-minute intervals, with quotas applied per application or user context. While the x-rate-limit-remaining and x-rate-limit-reset headers provide visibility into the remaining quota, the behavior of these limits during bursts of high-concurrency requests remains a point of design uncertai
Goal: obtain granular TLS validation failure reasons from Twitter API responses to differentiate expired, untrusted, or hostname‑mismatch certificates. Constraint: the API currently maps any handshake_failure to a generic HTTP 400/5xx with a vague “Invalid request” message, and there is no option to request detailed error codes or to supply custom trust stor