How Netflix uses Java
developrec
We're a leading contributor to the software engineering community & an award-winning recruitment business.
Welcome back to our newsletter!
In our latest edition, we`ll explore how Netflix uses Java by looking at Paul Bakker 's recent QCon SF presentation.
Let`s dive into the news you`ll love - we know we do (genuinely).
Netflix needs no introduction...
But it is one of the world’s LARGEST entertainment services with over 260 million members in more than 190 countries.
Java Version Management and Performance Improvements
"We are mostly on Java 17. That is actually a big deal, because this is embarrassing, but at the beginning of the year, we were mostly on Java 8. Java 8 is old." - Paul Bakker
The company operates primarily on Java 17, with active testing and deployment on Java 21. They leverage Azul Zulu JVM, an OpenJDK build, across their 2800 microservices and 1500 internal libraries. Their transition from Java 8 to Java 17 led to significant CPU usage improvements, particularly due to enhancements in the G1 garbage collector. They extensively test different garbage collectors, finding G1 most suitable for their workloads.
Adoption of Java 21 Features
Java 21 brings in new features like virtual threads and improvements to garbage collectors, like ZGC, which could make Netflix run faster. Virtual threads are expected to make it easier for Netflix to handle lots of people using their service at once. But using virtual threads means changing how the company's software is built. They're trying out different ways to use virtual threads, like with Tomcat connection pools and gRPC clients. They also think that features like structured concurrency and scoped values will make it simpler to manage their code and resources.
Standardisation on Spring Boot and GraphQL Frameworks
The company enjoys using consistent ways of developing and finds it easier to connect with other Java tools.
After switching from its custom-made Java setup to Spring Boot, the company enjoys using consistent ways of developing and finds it easier to connect with other Java tools. They help improve the DGS framework for GraphQL services, making sure it works well with Spring GraphQL. This teamwork makes it simple for developers to use both sets of features together. They want everyone to have a smooth experience and make the most out of what both frameworks offer.
领英推荐
Future Directions and Community Collaboration
In the future, the company aims to use Spring Boot 3 to use newer Java features and deal with changes in naming from Javax to Jakarta. They focus on working closely with the Spring community to make development easier and offer better solutions. By following industry rules and helping with open-source projects, they ensure their Java systems can grow, stay organised, and bring new ideas to their work.
P.S: although the primary objective of this newsletter isn't to talk about trending Netflix shows, we just couldn't help ourselves share a few of our favourites (in case you're interested that is, of course):
?? Griselda
Do write back and tell us if you watched any of them. It'll just make Jimmy from our team really happy.