YouTube video summary

How Netflix Really Uses Java

Technology
22 Apr 20242 min summaryFrom InfoQ
How Netflix Really Uses Java
InfoQ
YouTube
Free · no signup

Get the key points of a YouTube video or podcast in 30 seconds

Paste a YouTube, Spotify, or Apple Podcasts link and jump straight to what matters, with timestamps, instead of watching the whole thing.

  • YouTube Videos
  • Spotify Podcasts
  • Apple Podcasts
Trusted by 700,000+ researchers, students, and professionals

Netflix's Java Architecture

  • Netflix heavily relies on Java, with almost all back-end applications written in Java.
  • Netflix has evolved its architecture and is moving away from the Groovy era, with a focus on using Java more effectively and exploring new technologies.
  • Netflix uses Java 17 and Zulu OpenJDK for its Java applications and libraries, with a build system based on Gradle and Nebula.
  • Upgraded from Java 8 to Java 17, resulting in a 20% improvement in CPU usage.
  • The G1 garbage collector is the best choice for most workloads, while Shenandoah is used for low pause time requirements.
  • Java 21 introduces virtual threads, which can significantly improve scalability for thread-per-request style applications.
  • Leveraging virtual threads requires changes to the framework library and application code.
  • Spring Boot is the most popular Java framework and is well-maintained.
  • Spring Boot 3 unblocks the Java ecosystem by requiring Java 17 and supporting Jakarta EE.
  • Spring Boot Netflix is a set of modules built on top of Spring Boot that provides integration with Netflix and other infrastructure.
  • Moving to Spring Boot 3 is not trivial, but tooling is available to make the process easier.

GraphQL Federation

  • GraphQL Federation is an architecture that allows for combining multiple GraphQL services into a single API, eliminating the need for API duplication and service-side development for UI engineers.
  • With GraphQL Federation, there is no need for reactive programming or client libraries in Java, as the Federated Gateway handles communication with different services.
  • Microservices in a GraphQL Federation architecture can be large and complex and should be split based on team size rather than functionality.
  • Netflix created the DGS framework for building GraphQL services in Java.
  • Netflix and the Spring team have been working on full integration between DGS and Spring GraphQL, allowing developers to combine their programming models and features in the same app.

Platform Team and Tooling

  • Securing time to experiment with new technologies and upgrades is made possible by having a platform team that can allocate resources for such activities.
  • Investing more in developer tooling, such as intelligent plugins and automated tooling based on Gradle, can simplify version upgrades for Spring and other frameworks.
  • Supporting multiple languages, even within the same IDE like IntelliJ, increases the workload for platform teams due to the need for separate inspections and configurations.

Kotlin at Netflix

  • The percentage of Kotlin usage at Netflix is fairly low.
  • The only downside encountered with Kotlin was the lack of tooling and ecosystem maturity compared to Java.
  • Kotlin has proven to be a great language with many benefits.
Free · no signup

Do this for your own videos and podcasts

You just got the key points without sitting through the whole thing. Paste a YouTube, Spotify, or Apple Podcasts link and get the same summary in under 30 seconds.

  • YouTube Videos
  • Spotify Podcasts
  • Apple Podcasts
Trusted by 700,000+ researchers, students, and professionals

Ready to get started?

Save, summarize and chat with your content.

GET STARTED
IT'S FREE

No credit card required · 30 Day Refund on Premium · 24 Hour Support

Recall web app on laptop, personal AI knowledge base for summarizing and chatting with your content