Natan Silnitsky

Advanced Caching Patterns used by 2000 microservices

How do you handle 500 billion daily requests across 2000 microservices? Discover three advanced caching patterns that ensure availability and reduce latency at massive scale.

Advanced Caching Patterns used by 2000 microservices
#1about 7 minutes

Why caching is critical for services at scale

Caching reduces latency, lowers infrastructure costs, and improves reliability by making services less dependent on databases or third-party services.

#2about 1 minute

Knowing when not to implement a cache

Avoid adding a cache prematurely for young products with low traffic, as it introduces unnecessary complexity, potential bugs, and additional failure points.

#3about 4 minutes

Caching critical configuration with an S3-backed cache

Use a read-through cache backed by S3 to store static, rarely updated configuration data, ensuring service startup reliability even when dependencies are down.

#4about 6 minutes

Building a dynamic LRU cache with DynamoDB and CDC

Implement a cache-aside pattern using an in-memory LRU cache backed by DynamoDB and populated via Kafka CDC streams to reduce database load for frequently accessed data.

#5about 5 minutes

Using Kafka compact topics for in-memory datasets

For smaller datasets, use Kafka's compact topics to maintain a complete, up-to-date copy of the data in-memory for each service instance.

#6about 6 minutes

Implementing an HTTP reverse proxy cache with Varnish

Use a reverse proxy like Varnish Cache with a robust invalidation strategy to dramatically reduce response times for services with expensive computations like server-side rendering.

#7about 4 minutes

A decision tree for choosing the right caching pattern

Follow a simple flowchart to select the appropriate caching strategy based on whether the data is for startup, dynamic retrieval, or stable HTTP responses.

#8about 12 minutes

Q&A on caching strategies and implementation details

The discussion covers HTTP header caching, custom invalidation logic, handling the "thundering herd" problem, and the choice of JVM for high-performance services.

Related jobs
Jobs that call for the skills explored in this talk.

test

Milly
Vienna, Austria

Intermediate

test

Milly
Vienna, Austria

Intermediate

d

Saby Company
Delebio, Italy

Junior

Featured Partners

Related Articles

View all articles
DC
Daniel Cranney
What does the history of data storage tell us about the future?
In the rapidly advancing world of computing, data storage stands as a cornerstone that has evolved profoundly over the decades, adapting to meet growing demands for durability, scalability, and accessibility. From early physical storage methods to to...
What does the history of data storage tell us about the future?
BB
Benedikt Bischof
Why You Shouldn’t Build a Microservice Architecture
Welcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.‍About the speaker:‍Michael has been working for Bosch as a sof...
Why You Shouldn’t Build a Microservice Architecture
Dev Digest 113 - Debugging above the cloud
Hello there and welcome to Dev Digest 113! This time, we got an old friend in the sky back, jQuery asks us to upgrade and AI is eating the web. Also, are you sure the LLM you use is secure against code injection?News and ArticlesGood news everyone! N...
Dev Digest 113 - Debugging above the cloud

From learning to earning

Jobs that call for the skills explored in this talk.

AWS

AWS

cognizant

43K
GIT
Linux
DevOps
Ansible
+3