Netflix TechBlog | Medium
Follow
Netflix Tudum Architecture: from CQRS with Kafka to CQRS with RAW Hollow
Tudum.com is Netflix's official fan destination, offering exclusive content, behind-the-scenes insights, and interactive experiences to over 20 million members each month. The platform's architecture is designed to be maintainable, extensible, and flexible, using a server-driven UI approach similar to Command Query Responsibility Segregation (CQRS). Tudum's editorial team creates content, which is stored in a write database, and then converted into a read-optimized format for consumption by users. The initial architecture used Kafka to separate the write and read databases, allowing for independent scaling and eventual consistency. However, this approach introduced a delay between content edits and their reflection on the website. The team identified the source of the delay as the Page Data Service, which used a near cache to accelerate page building. To address this issue, Netflix developed RAW Hollow, an in-memory, co-located, compressed object database that provides strong read-after-write consistency and low latency. Tudum was a perfect fit to test RAW Hollow, which significantly reduced I/O and enabled synchronous data access in O(1) time. The updated architecture eliminated the need for Kafka infrastructure and reduced data propagation times, allowing writers and editors to preview changes in seconds. The migration also led to faster request times, with homepage construction time decreasing from 1.4 seconds to 0.4 seconds.