Advanced Caching Patterns at Wix Microservices


Wix has a huge scale of traffic. More than 500 billion HTTP requests and more than 1.5 billion Kafka business events per day.

This talk goes through 4 Caching Patterns that are used by Wix's 1500 microservices in order to provide the best experience for Wix users along with saving costs and increasing availability. 


A cache will reduce latency, by avoiding the need of a costly query to a DB, a HTTP request to a Wix servicer, or a 3rd-party service. It will reduce the needed scale to service these costly requests. 

It will also improve reliability, by making sure some data can be returned even if aforementioned DB or 3rd-party service are currently unavailable.

The patterns include:

  • Configuration Data Cache - persisted locally or to S3
  • HTTP Reverse Proxy Caching - using Varnish Cache
  • Kafka topic based 0-latency Cache - utilizing compact logs
  • (Dynamo)DB+CDC based Cache and more - for unlimited capacity with continuously updating LRU cache on top


Each pattern is optimal for other use cases, but all allow to reduce costs and gain performance and resilience.

Scheduled on Tuesday from 09:00 to 09:50 in Room E

Apache Kafka

Natan Silnitsky

Natan Silnitsky is a backend-infra engineer He is on the Data streaming team in charge of building event driven libraries and tools on top of Kafka and ZIO. Before that he was part of a task force that was responsible for building the next generation CI system at Wix on top of Google's Bazel build tool. Has many years of experience as a developer of large scale web services - First in .Net, later in Scala. Natan's passions include clean and functional code, dev velocity and great software design.