How Netflix Runs on Java?
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.