Cloudflare architecture: how Cloudflare scaled (5 case studies)
The Cloudflare write-ups we track cover five systems: Pingora, a Rust proxy that replaced Nginx (the post cites 1 trillion requests a day); HTTP analytics rebuilt on ClickHouse in place of a Postgres/Citus setup (6M requests/sec); error-log analytics on ClickHouse; Quicksilver, which replicates Cloudflare's configuration key-value store to every edge server in seconds on LMDB; and D1, which runs SQLite queries at the edge while a separate control plane manages millions of databases.
We track 5 public engineering write-ups by Cloudflare, published between 2018 and 2026. Techniques that come up more than once: columnar storage (2). Stack mentioned most: ClickHouse (2) and Go (2). 4 of the 5 state concrete scale numbers, for example "millions of databases". Each card below links to our short summary and the original post.
Tech used in Cloudflare's scaling write-ups
Cloudflare scaling timeline: every story, summarized
- 2018-03-06
HTTP Analytics for 6M requests per second using ClickHouse
Cloudflare rebuilt its HTTP analytics pipeline on ClickHouse, replacing a Postgres/Citus setup.
- 2020-03-30
Introducing Quicksilver: Configuration Distribution at Internet Scale
Quicksilver replicates Cloudflare's config key-value store to every edge server in seconds, built on LMDB.
- 2022-09-02
Log analytics using ClickHouse
Cloudflare moved its error-log pipeline to ClickHouse and shares schema and query lessons.
- 2022-09-14
How we built Pingora, the proxy that connects Cloudflare to the Internet
Cloudflare replaced Nginx with Pingora, a Rust proxy that reuses connections better and needs less CPU and memory.
- 2026-10-13
Under the hood, off the hot path: how D1 scales to millions of databases
How Cloudflare's D1 keeps query execution at the edge while a separate control plane manages millions of SQLite databases.
FAQ
Why did Cloudflare replace Nginx with Pingora?
Cloudflare's 2022 post says it replaced Nginx with Pingora, a proxy written in Rust that reuses connections better and needs less CPU and memory. The post cites 1 trillion requests per day.
What database does Cloudflare use for analytics?
ClickHouse, in both analytics posts we track. In 2018 Cloudflare rebuilt its HTTP analytics pipeline on ClickHouse (with Kafka and Go), replacing a Postgres/Citus setup, at 6M requests per second. In 2022 it moved its error-log pipeline to ClickHouse too.
How does Cloudflare D1 scale to millions of databases?
Cloudflare's 2026 post explains that D1 is built on SQLite, Durable Objects and Workers. It keeps query execution at the edge while a separate control plane manages millions of databases off the hot path.