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.
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 US1 Comment
Sort: