|
|
|
|
|
by ComputerGuru
2274 days ago
|
|
The story of how they picked a storage engine ill-suited for their needs and then used ridiculous and unsustainable workarounds to deal with its shortcomings (including unsafe practices like relying on rebuilding the databases, assuming it’s safe to turn off synchronous writes for KV storage writes, etc) just confirms how shoddy engineering is at CloudFlare. That is peak technical debt. (It’s one thing to make a wrong choice, it’s another to think you can paper over those mistakes and they’ll go away.) |
|
More constructively: what would you have picked back in _2011_ when Cloudflare was getting off the ground? Ideally, it needs to have a memcached like interface (for easy gets/puts from Lua + NGINX), still operate when disconnected from upstreams (CDN POPs can have unreliable upstream conns), be cheap/free in terms of CAPEX/licensing, and be optimized for (extremely) read-heavy workloads. Strong consistency is less useful here.
"Technical debt" only debt after the fact. Most of the time, it's the result of a series of (likely rational) trade-offs you've made given the current state of your business.