Netflix operates its massive streaming platform primarily on Java, utilizing a federated GraphQL architecture with Spring Boot microservices. The company migrated from Java 8 to JDK 21+, adopting virtual threads for improved concurrency and ZGC garbage collector for near-zero pause times. Their backend consists of around 3000 Spring Boot services communicating via gRPC, with GraphQL serving as the client-facing API layer. Netflix moved away from reactive programming (RxJava) in favor of virtual threads and structured concurrency, while building custom tooling to maintain their Spring Boot Netflix stack with company-specific integrations for security, observability, and service mesh functionality.

14m read timeFrom blog.bytebytego.com
Post cover image
Table of contents
Kubernetes Quick-Start Guide (Sponsored)Backend Architecture with the GraphQL FoundationBuild Your Own Production-Ready AgentJVM EvolutionGenerational ZGCUse of Java Virtual ThreadsWhy Netflix Moved Away from RxJava?The Spring Boot Netflix StackConclusionSPONSOR US
1 Comment

Sort: