Netflix scales gRPC services by reducing call volume through caching and batching, applied through client and server interceptors and automatically wired into services. Over half of all Java-client gRPC traffic is served through on-box (Google/Guava, OHCache) and distributed (Netflix/EVcache) caches. We present how integrating caching directives directly into the proto specification allow us to automatically inject cache support into the stubs with minimal developer overhead. We also present our request batching technique to aggregate multiple stub invocations into a single remote call. This allows service owners to reduce call volume even when consuming applications apply suboptimal fetch patterns.
Benjamin is a Senior Software Engineer with Netflix, based near Lansing, Michigan, USA. Passionate about developer productivity, he helped to found Platform Engineering at a Fortune 500 company and now focuses on Netflix's Java Platform.
Tuesday August 27, 2024 11:45am - 12:05pm PDT
Valley Oak