SlideShare a Scribd company logo
@NSilnitsky
@NSilnitsky
Kafka- based Global Data Mesh
Kafka-based Global Data
Mesh at Wix
Natan Silnitsky Backend Infra TL, Wix.com
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil
@NSilnitsky
Kafka- based Global Data Mesh
@NSilnitsky
@NSilnitsky
Kafka- based Global Data Mesh
Enable any business,
community or person on earth
to make their online dream
come true.
Our mission
@NSilnitsky
Kafka- based Global Data Mesh
At Wix
±1B
Unique
visitors
>100M
Websites
Published by
Wix users
(5-7% of all
internet
websites)
±5000
People
Work at Wix
use Wix
platform
every month
@NSilnitsky
500B >600
GAs Per Day
~1500
Developers
Daily HTTP
Transactions
18
Data
Centers &
Pops
2
Cloud Providers
[Google/AWS]
Scaling out
Kafka- based Global Data Mesh
@NSilnitsky
Wix has over 2200 microservices in production
Kafka- based Global Data Mesh
@NSilnitsky
@NSilnitsky
A Fully Distributed Environment
70B daily produced Events
4 Regions @ GCP/AWS
~50k Topics
> 500k Partitions
25% of the data is replicated
+ We assume
x10 scale factor
during 12-24 next
months
@NSilnitsky
@NSilnitsky
Growing
Pains
Large scale
traffic
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Cluster
overload
DC
awareness
* keep simple even. Migrated, disributed
@NSilnitsky
@NSilnitsky
Growing
Pains
Large scale
traffic
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Cluster
overload
DC
awareness
* messaging platform
@NSilnitsky
@NSilnitsky
Growing
Pains
Large scale
traffic
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Cluster
overload
DC
awareness
* tackled blockers
@NSilnitsky
@NSilnitsky
Event-driven
architecture
Kafka
Growing
Pains
Large scale
traffic
Hundreds of
developers
Diverse
tech stack
Cluster
overload
DC
awareness
@NSilnitsky
Kafka Broker
You Know
Kafka
Kafka
Consumer
Kafka Broker
Service A Service B
Kafka
Producer
Kafka- based Global Data Mesh
@NSilnitsky
If You Don’t
Know Kafka
Kafka- based Global Data Mesh
Kafka Broker
Kafka Broker
Topic
Partition
@NSilnitsky
Kafka
Broker Topic
Kafka- based Global Data Mesh
Partition
Kafka
Producer
0 1 2 3 4 5
Service A
@NSilnitsky
Kafka
Broker Topic
Kafka- based Global Data Mesh
Partition
Kafka
Producer
0 1 2 3 4 5
Service A
Service B
Kafka
Consumer
@NSilnitsky
@NSilnitsky
Large scale
traffic
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Kafka
Growing
Pains
Cluster
overload
DC
awareness
@NSilnitsky
Greyhound
Consumer
Greyhound
Producer
Greyhound*
Wraps
Kafka
* open source software
Kafka Broker
Kafka- based Global Data Mesh
Kafka
Producer
Service A Service B
Kafka
Consumer
@NSilnitsky
Greyhound
Consumer
Greyhound
Producer
Kafka Broker
Kafka- based Global Data Mesh
Kafka
Producer
Service A Service B
Kafka
Consumer
@NSilnitsky
@NSilnitsky
aGreyhoundConsumerSpec(groupName, messageHandler, topicName)
val producer = GreyhoundBuilder.resilientProducer(topicName)
Kafka- based Global Data Mesh
@NSilnitsky
✔ Parallel Consumption
✔ Batch Consumer
✔ Consumer Retry Strategies
✔ Resilient Producer
✔ Context Propagation
✔ Metrics reporting
Self Service 🟊
Greyhound
Kafka- based Global Data Mesh
Kafka Broker
@NSilnitsky
Scala NodeJS / Python / Go
Greyhound
Kafka Broker
I’m a container
gRPC + proto
sidecar
JVM library
Kafka- based Global Data Mesh
@NSilnitsky
Kafka Broker
Domain Events
ETL to DWH
Task Scheduling
Async Queue
...
We use it
for...
Kafka- based Global Data Mesh
Infra
@NSilnitsky
@NSilnitsky
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Kafka + Greyhound
Growing
Pains
Large scale
traffic
Cluster
Overload
DC
awareness
@NSilnitsky
@NSilnitsky
DC1 DC2
DC3 DC4
Kafka Broker
Single
Cluster
Overload
* intra-dc
@NSilnitsky
@NSilnitsky
DC1 DC2
DC3 DC4
Single
Cluster
Overload
A
A
A
A
B
Kafka Cluster (by SLAs)
B
Multi
Cluster
C
@NSilnitsky
@NSilnitsky
DC1 DC2
DC3 DC4
A
A
A
A
B
To which
Cluster?
Kafka Cluster (by SLAs)
B
I want to produce
a domain event.
C
@NSilnitsky
@NSilnitsky
aGreyhoundConsumerSpec(groupName, messageHandler, topicName)
.ClusterA
val producer = GreyhoundBuilder.resilientProducer(topicName,
_.ClusterB
Kafka- based Global Data Mesh
* wix-layer
@NSilnitsky
Cluster A + DC1 Cluster A + DC2
@NSilnitsky
@NSilnitsky
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Kafka + Greyhound
Growing
Pains
Large scale
traffic
Cluster
Overload
DC
awareness
+ Multi Cluster
@NSilnitsky
@NSilnitsky
DC1 DC2
DC3 DC4
Master Active
Master Passive
Read-Only DBs
Http/gRPC
To which
DC?
I want to
process the event
and save the data.
@NSilnitsky
@NSilnitsky
Kafka + Greyhound
+ Cross DC services
Kafka- based Global Data Mesh
Growing
Pains
Hundreds of
developers
Event-driven
architecture
Diverse
tech stack
Large scale
traffic
Cluster
Overload
DC
awareness
+ Multi Cluster
@NSilnitsky
@NSilnitsky
Cross-DC
Self Services 🟊
1. Replicate across DCs
2. Produce to Main DC
[WIP] Just Produce ❤
Greyhound
Kafka
@NSilnitsky
Replicate !
DC1 DC2
across DCs
Greyhound
producer
Greyhound
consumer
Kafka
Broker
Cluster
A
Kafka
Broker
Cluster
Kafka- based Global Data Mesh
A
@NSilnitsky
Greyhound
Batch
Consumer
Greyhound
Producer
Batch #
Replicate !
Kafka
Broker
Cluster
A
Kafka
Broker
Cluster
DC1 DC2
How?
Greyhound
producer
Greyhound
consumer
Kafka- based Global Data Mesh
A
Cross DC
Replication
Service
@NSilnitsky
Replicate !
DC1 DC2
a Compact Topic for Policy
A
A
Kafka
Broker
Cluster
Kafka
Broker
Cluster
Greyhound
producer
Greyhound
consumer
Kafka- based Global Data Mesh
@NSilnitsky
Replication
service
Replicate !
DC1 DC2
How?
A
KVStoreReader
In-Memory Map
Key Value
Topic1 AllDCs
Topic2 Custom
A
Kafka
Broker
Cluster
Kafka
Broker
Cluster
Greyhound
producer
Greyhound
consumer
Kafka- based Global Data Mesh
@NSilnitsky
Kafka- based Global Data Mesh
@NSilnitsky
Kafka- based Global Data Mesh
@NSilnitsky
@NSilnitsky
Cross-DC
Self Services 🟊
1. ✔ Replicate across DCs
2. Produce to Main DC
[WIP] Just Produce ❤
Greyhound
Kafka
@NSilnitsky
Produce !
DC1 DC2
To main DC
Read-Only DB /
Master Passive DB
Master Active
A
Kafka
Broker
Cluster
Kafka- based Global Data Mesh
Greyhound
producer
@NSilnitsky
main-dc-producer
service
Produce !
DC1 DC2
How?
Master Active
Kafka- based Global Data Mesh
Greyhound
gRPC
producer
producer(topicName, _.toMainDc)
@NSilnitsky
@NSilnitsky
Cross-DC
Self Services 🟊
1. ✔ Replicate across DCs
2. ✔ Produce to Main DC
[WIP] Just Produce ❤
Greyhound
Kafka
@NSilnitsky
DC1 DC2
To where needed
[WIP] Just Produce ❤
Kafka- based Global Data Mesh
Greyhound
producer
Greyhound
consumer
Master Active
@NSilnitsky
Topology
Topic List
[consumer
group:DC]
DC1 DC2
A
Kafka
Broker
Cluster
Kafka- based Global Data Mesh
Greyhound
producer
Greyhound
consumer
To where needed
[WIP] Just Produce ❤
Master Active
@NSilnitsky
Topology
Topic List
[consumer
group:DC]
DC1 DC2
A
Kafka
Broker
Cluster
Master Active
Kafka- based Global Data Mesh
Greyhound
producer
Greyhound
consumer
To where needed
[WIP] Just Produce ❤
Replication service
* reintroduce decoupling
@NSilnitsky
@NSilnitsky
Kafka- based Global Data Mesh
DC1 DC2
DC3 DC4
A
A
A
A
B
B
Just Produce ❤
To a Single Logical
Kafka Cluster.
Kafka Broker
Cluster
DB
@NSilnitsky
@NSilnitsky
Kafka- based Global Data Mesh
Any
Tech Stack
Greyhound
Anywhere
You Need
developer
@NSilnitsky
developer
github.com/wix/greyhound
Kafka- based Global Data Mesh
@NSilnitsky
@NSilnitsky
Thank
You!
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil
👉 slideshare.net/NatanSilnitsky
Any questions?
Kafka- based Global Data Mesh
@NSilnitsky
@NSilnitsky
Q&A
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil
👉 slideshare.net/NatanSilnitsky
Any questions?
Kafka- based Global Data Mesh

More Related Content

PDF
Kafka based Global Data Mesh at Wix with Natan Silnitsky | Kafka Summit Londo...
PDF
Kafka based Global Data Mesh at Wix
PPTX
Building Event-Driven Systems with Apache Kafka
PDF
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
PDF
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
PDF
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
PDF
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
PDF
Apache Kafka® and the Data Mesh
Kafka based Global Data Mesh at Wix with Natan Silnitsky | Kafka Summit Londo...
Kafka based Global Data Mesh at Wix
Building Event-Driven Systems with Apache Kafka
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
Architecture patterns for distributed, hybrid, edge and global Apache Kafka d...
Enhancing Apache Kafka for Large Scale Real-Time Data Pipeline at Tencent | K...
Apache Kafka® and the Data Mesh

Similar to Dev Days Europe - Kafka based Global Data Mesh at Wix (20)

PDF
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
PDF
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
PDF
Battle-tested event-driven patterns for your microservices architecture - Sca...
PDF
Jax london - Battle-tested event-driven patterns for your microservices archi...
PDF
Battle-tested event-driven patterns for your microservices architecture - Sca...
PPTX
messaging.pptx
PDF
Kafka Up And Running For Network Devops Set Your Network Data In Motion Eric ...
PDF
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
PDF
Battle Tested Event-Driven Patterns for your Microservices Architecture
PDF
Battle Tested Event-Driven Patterns for your Microservices Architecture - Ris...
PPTX
Kafkha real time analytics platform.pptx
PDF
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
PDF
Connect K of SMACK:pykafka, kafka-python or?
PPTX
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
PPTX
Large scale, distributed and reliable messaging with Kafka
PDF
Self-hosting Kafka at Scale: Netflix's Journey & Challenges
PPTX
Event Driven Architectures with Apache Kafka
PPTX
Building an Event Bus at Scale
PDF
Apache Kafka - Scalable Message-Processing and more !
PPTX
Current and Future of Apache Kafka
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Battle-tested event-driven patterns for your microservices architecture - Sca...
Jax london - Battle-tested event-driven patterns for your microservices archi...
Battle-tested event-driven patterns for your microservices architecture - Sca...
messaging.pptx
Kafka Up And Running For Network Devops Set Your Network Data In Motion Eric ...
Netflix Keystone Pipeline at Big Data Bootcamp, Santa Clara, Nov 2015
Battle Tested Event-Driven Patterns for your Microservices Architecture
Battle Tested Event-Driven Patterns for your Microservices Architecture - Ris...
Kafkha real time analytics platform.pptx
From Monoliths to Microservices - A Journey With Confluent With Gayathri Veal...
Connect K of SMACK:pykafka, kafka-python or?
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Large scale, distributed and reliable messaging with Kafka
Self-hosting Kafka at Scale: Netflix's Journey & Challenges
Event Driven Architectures with Apache Kafka
Building an Event Bus at Scale
Apache Kafka - Scalable Message-Processing and more !
Current and Future of Apache Kafka
Ad

More from Natan Silnitsky (20)

PDF
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
PDF
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
PDF
Reinventing Microservices Efficiency and Innovation with Single-Runtime
PDF
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
PDF
Wix Single-Runtime - Conquering the multi-service challenge
PDF
WeAreDevs - Supercharge Your Developer Journey with Tiny Atomic Habits
PDF
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
PDF
Effective Strategies for Wix's Scaling challenges - GeeCon
PDF
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
PDF
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
PDF
DevSum - Lessons Learned from 2000 microservices
PDF
GeeCon - Lessons Learned from 2000 microservices
PDF
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
PDF
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
PDF
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
PDF
Lessons Learned from 2000 Event Driven Microservices - Reversim
PDF
Devoxx Ukraine - Kafka based Global Data Mesh
PDF
Devoxx UK - Migrating to Multi Cluster Managed Kafka
PDF
Kafka Summit London - Kafka based Global Data Mesh at Wix
PDF
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Integration Ignited Redefining Event-Driven Architecture at Wix - EventCentric
Reinventing Microservices Efficiency and Innovation with Single-Runtime
Async Excellence Unlocking Scalability with Kafka - Devoxx Greece
Wix Single-Runtime - Conquering the multi-service challenge
WeAreDevs - Supercharge Your Developer Journey with Tiny Atomic Habits
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Effective Strategies for Wix's Scaling challenges - GeeCon
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
DevSum - Lessons Learned from 2000 microservices
GeeCon - Lessons Learned from 2000 microservices
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
Lessons Learned from 2000 Event Driven Microservices - Reversim
Devoxx Ukraine - Kafka based Global Data Mesh
Devoxx UK - Migrating to Multi Cluster Managed Kafka
Kafka Summit London - Kafka based Global Data Mesh at Wix
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
Ad

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
AI in Product Development-omnex systems
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
top salesforce developer skills in 2025.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
System and Network Administration Chapter 2
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
AI in Product Development-omnex systems
VVF-Customer-Presentation2025-Ver1.9.pptx
ai tools demonstartion for schools and inter college
Understanding Forklifts - TECH EHS Solution
Internet Downloader Manager (IDM) Crack 6.42 Build 41
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Softaken Excel to vCard Converter Software.pdf
Transform Your Business with a Software ERP System
top salesforce developer skills in 2025.pdf
ISO 45001 Occupational Health and Safety Management System
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
CHAPTER 2 - PM Management and IT Context
Upgrade and Innovation Strategies for SAP ERP Customers
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms II-SECS-1021-03
Digital Strategies for Manufacturing Companies
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Which alternative to Crystal Reports is best for small or large businesses.pdf
System and Network Administration Chapter 2

Dev Days Europe - Kafka based Global Data Mesh at Wix