SlideShare a Scribd company logo
1 of 63
Download to read offline
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil
Battle-tested event-driven patterns for
your microservices architecture
Natan Silnitsky
Backend Infra Developer, Wix.com
>180M registered users (website builders) from 190 countries
5% of all Internet websites run on Wix
1,500 Microservices
1,500M Kafka messages produced / Day
@NSilnitsky
At Wix
* Event driven uses cases
Agenda
Event-driven microservices
Event-driven patterns:
• Consume and Project
• Event-driven from end to end
• 0-latency KV Store
• Events in Transactions
@NSilnitsky
Microservices
The Monolith
@NSilnitsky * Separately
Monolith to Distributed Microservices System
Microservices
@NSilnitsky
Microservices
Decoupled Microservices
Mutable
Contention
Choice
@NSilnitsky
Microservices
Data Encapsulation
* flexibility, schema
What about microservices
communication?
@NSilnitsky
Request-reply
communication
Microservices Communication
Checkout
Service
User
Service
Inventory
Service
Payments
Service
@NSilnitsky
Request-reply
communication
Microservices Communication
Request-Reply Model
HTTP
RPC
HTTP RPC
HTTP RPC
Checkout
Service
Payments
Service
Inventory
Service
User
Service
@NSilnitsky
Request-reply
communication
* 1 by 1- slow
Microservices Communication
Request-Reply Model
Checkout
Service
@NSilnitsky
Request-reply
communication
Microservices Communication
Request-Reply Model
Checkout
Service
Inventory
Service
Broker
@NSilnitsky * Reliability
Event-driven
communications
Introduce a message broker in between services
Message
Consumer
Message
Producer
@NSilnitsky * Not ineteract directly
Order created
Event-driven
communications
Introduce a message broker in between services
Event-driven model
Message
Consumer
Flow control is moved from the sender
Broker
Message
Producer
@NSilnitsky
Order created
Event-driven
communications
Introduce a message broker in between services
Event-driven model
Message
Consumer
Flow control is moved from the sender
to the receiver.
Broker
Message
Producer
* more robust
Kafka Broker
Topic
Partition
Partition
Partition
@NSilnitsky * Linear scaling
Introduce a message broker in between services
Distributed log broker
Event-driven
communications
Message
Consumer
Message
Producer
@NSilnitsky
Append-only log
Introduce a message broker in between services
Distributed log broker
Event-driven
communications
Kafka Broker
Topic
Partition
Message
Consumer
Message
Producer
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
Order Created Topic
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
@NSilnitsky
* Data retained,
Immutable
Introduce a message broker in between services
Distributed log broker
Event-driven
communications
Message
Consumer
Message
Producer
Kafka Broker
@NSilnitsky * eventually consumed
Distributed log broker eventually consume
Event-driven
communications
Order Created Topic
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
Message
Consumer
Message
Producer
Kafka Broker
Checkout
Service
Event-driven
communications
Microservices communication & data
Event driven model
User
Service
Inventory
Service
Cart
Service
Payments
Service
@NSilnitsky
Checkout
Service
Cart
Service
Inventory
Service
Payments
Service
User
Service
Event-driven
communications
Microservices communication & data
Event driven model
Kafka Broker
Orders
Partition
Partition
Partition
Users
Partition
Partition
Partition
Cart
Partition
Partition
Partition
Inventory
Partition
Partition
Partition
Agenda
Event-driven microservices
Event-driven patterns:
• Consume and Project
• Event-driven from end to end
• 0-latency KV Store
• Events in Transactions
* used daily. blog
Consume
and Project
01
MetaSite
RPC
Wix
Stores
Wix
Bookings
Wix
Restaurants
RPC
RPC
@NSilnitsky
Consume and
Project
For Popular Services
MetaSite
RPC
Wix
Stores
Wix
Bookings
Wix
Restaurants
RPC
RPC
@NSilnitsky
Consume and
Project
Site installed Apps?
Site version?
Site owner?
MetaSite
RPC
Wix
Stores
Wix
Bookings
Wix
Restaurants
RPC
RPC
@NSilnitsky
Consume and
Project
Request
overload
Site installed Apps?
Site version?
Site owner?
(~1M RPM requests)
Read +
Writes
Large
MetaSite
Object
Request
overload
MetaSite
RPC
Wix
Stores
Wix
Bookings
Wix
Restaurants
RPC
RPC
@NSilnitsky
Consume and
Project
Site installed Apps?
Site version?
Site owner?
Read +
Writes
Large
MetaSite
Object
(~1M RPM requests)
Kafka Broker
Produce
to Kafka
Producer
MetaSite
Site
Updated!
Consume and
Project
Entire MetaSite
Context
Kafka Broker
Filter
Site installed
Apps Updated!
Installed Apps
ContextProduce
to Kafka
Consume
and Project
MetaSite
Consumer
Reverse
lookup
writer
Consume and
Project
Producer
Kafka Broker
Installed Apps
ContextProduce
to Kafka
Consume
and Project
MetaSite
Reverse
lookup
writer
Reverse
lookup
reader
RPC
RPC
RPC
Split Read
from Write
Consume and
Project
Producer Consumer
Consume and Project
— Produce instead of serve - massive load reduction
— Project - client-query-optimized “Materialized View”
— Read/write split - only scale read-only DB. more resilient
Event-driven
from end to end
02
Kafka Broker
Consumer
Browser
Producer
Contacts
Importer
Service
Contacts
Jobs
Service
Web
Sockets
Service
@NSilnitsky
Event-driven
from end to end
Use case:
Long-running async business process
Subscribe for notifications
ConsumerProducer
Browser
@NSilnitsky
Event-driven
from end to end
Use case:
Long-running async business process
Kafka Broker
Web
Sockets
Service
Import CSVs
ConsumerProducer
Browser
@NSilnitsky
Event-driven
from end to end
Use case:
Long-running async business process
Kafka Broker
Web
Sockets
Service
Web
Sockets
Service
Consumer
* Distributed
Producer
Browser
done!
Event-driven
from end to end
Use case:
Long-running async business process
Kafka Broker
Web
Sockets
Service
Consumer
* Distributed
Producer
Browser
Cross DC!
Event-driven
from end to end
Use case:
Long-running async business process
Kafka Broker
done!
Event-Driven from End to End
— No polling - notify the user on any status change
— Scalable - spin up many import job workers
— Replication - cross-DC requests are easy to set up
0-latency
KV Store
03
Kafka Broker
Configuration Topic
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 45
0 1 2 3 4
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5K1
V1
K2
V1
K1
V2
K3
V1
K4
V1
K5
V1
@NSilnitsky
Producer
Key - value
Consumer
0-latency
KV Store
Compacted Kafka
Topics
Kafka Broker
Consumer
KVStoreReader
In-Memory Map
Compacted Topic
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5K1
V1
K2
V1
K1
V2
K3
V1
K4
V1
K5
V1
Key Value
K1 V1
K2 V1
* Startup
0-latency
KV Store
@NSilnitsky
Compacted Kafka
Topics
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5
0 1 2 3 4 5K1
V1
K2
V1
K1
V2
K3
V1
K4
V1
K5
V1
@NSilnitsky
0-latency
KV Store
Kafka Broker
Consumer
KVStoreReader
In-Memory Map
Key Value
K1 V1 -> V2
K2 V1
K3 V1
Compacted Kafka
Topics
* Finished
Compacted Topic
ConsumerConsumer
BookingsBusiness
Manager
KVStoreReader
Time Zones
Key Value
Albania UTC+1
Algeria UTC+1
Andorra UTC+1
Time Zones
KVStoreReader
Countries
Key Value
Albania .al
Algeria .dz
Andorra .ad
Countries@NSilnitsky
0-latency
KV Store
Kafka Broker
Producer
Kafka Broker
Consumer
BookingsBusiness
Manager
KVStoreReader
Countries
Countries
*New*
South Sudan
KVStoreWriter
Countries
@NSilnitsky
0-latency
KV Store
* Writer producer
Kafka Broker
Producer
Bookings
KVStoreWriter
Time Zones
Time Zones
Consumer
KVStoreReader
Time Zones
Key Value
Albania UTC+1
...
South Sudan UTC+3
*New*
Time Zone for
South Sudan
*New* Country
South Sudan
@NSilnitsky
0-latency
KV Store
Kafka Broker
Producer
Bookings
KVStoreWriter
Time Zones
Time Zones
Consumer
KVStoreReader
Time Zones
Key Value
Albania UTC+2
Algeria UTC+1
Andorra UTC+1 *New*
Time Zone for
Albania
Consumer
Events
KVStoreReader
Time Zones
DST in-effect for
Albania
@NSilnitsky
0-latency
KV Store
0-latency KV Store
— Loading the compacted topic to memory –
a 0-latency kv store for dynamic configuration
— Compacted topic is still a topic –
other services can consume its update events
— Small Datasets - for large datasets, the topic should be
streamed to a disk-based DB + In-memory Cache
Events in
Transactions
04 * idempotent
Payment
Completed
Payments
Kafka Broker
Producer
Events in
Transactions
Classic Ecommerce Flow
Payments Checkout
Kafka Broker
Producer Consumer Producer
Order (Items)
Completed
Events in
Transactions
Classic Ecommerce Flow
Payment
Completed
Payments Checkout
Inventory
Kafka Broker
Producer Consumer Producer Consumer
Delivery
Consumer
Consumer
Invoices
Events in
Transactions
Classic Ecommerce Flow
Producer Consumer Producer ConsumerConsumer
Consumer Completed
Orders
Events in
Transactions
Kafka Broker
Classic Ecommerce Flow
Producer
Events in
Transactions
Kafka Broker
Enable.idempotence = true
Attaches offset to
message
Classic Ecommerce Flow
Idempotent
Producer
Events in
Transactions
Kafka Broker
Classic Ecommerce Flow
Events in
Transactions
Kafka Broker
Producer0 1 2 3 4 5
0 1
duplicate!1
Payments
Idempotent
Producer
Transaction Scope
Consumer Producer ConsumerConsumer
Consumer
Producer
Events in
Transactions
Kafka Broker
Events in Transactions
— Events transactions are quite complex –
More boilerplate, performance tuning via transaction size.
— DB updates/3rd party calls are not covered –
You can dedup by using Kafka record offset as version
— Don’t turn on transactions by default -
Use in critical flows like payments processing
Wix developers have employed these
event-driven patterns to make their
microservices more decoupled,
resilient and scalable.
Thank You
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil
Resources
6 Event Driven Architecture Patterns - Part 1 & Part 2 - by Natan Silnitsky
The Data Dichotomy: Rethinking the Way We Treat Data and Services -
by Ben Stopford
Shared Database - by Chris Richardson
Exactly once delivery - DevOpsDay TLV 2019 - By Natan Silnitsky
@NSilnitsky
Slides & More
slideshare.net/NatanSilnitsky
medium.com/@natansil
twitter.com/NSilnitsky
natansil.com
Q&A
natansil.com twitter@NSilnitsky linkedin/natansilnitsky github.com/natansil

More Related Content

What's hot

SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
confluent
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
confluent
 

What's hot (20)

The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
 
What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?
 
Stream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDBStream me to the Cloud (and back) with Confluent & MongoDB
Stream me to the Cloud (and back) with Confluent & MongoDB
 
Elastically Scaling Kafka Using Confluent
Elastically Scaling Kafka Using ConfluentElastically Scaling Kafka Using Confluent
Elastically Scaling Kafka Using Confluent
 
Seamless Guest Experience with Kafka Streams
Seamless Guest Experience with Kafka StreamsSeamless Guest Experience with Kafka Streams
Seamless Guest Experience with Kafka Streams
 
Building Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache KafkaBuilding Event-Driven Services with Apache Kafka
Building Event-Driven Services with Apache Kafka
 
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
Apache Kafka vs. Integration Middleware (MQ, ETL, ESB) - Friends, Enemies or ...
 
Top use cases for 2022 with Data in Motion and Apache Kafka
Top use cases for 2022 with Data in Motion and Apache KafkaTop use cases for 2022 with Data in Motion and Apache Kafka
Top use cases for 2022 with Data in Motion and Apache Kafka
 
Events Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public SectorEvents Everywhere: Enabling Digital Transformation in the Public Sector
Events Everywhere: Enabling Digital Transformation in the Public Sector
 
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
Transform Your Mainframe and IBM i Data for the Cloud with Precisely and Apac...
 
Tracking crime as it occurs with apache phoenix, apache hbase and apache nifi
Tracking crime as it occurs with apache phoenix, apache hbase and apache nifiTracking crime as it occurs with apache phoenix, apache hbase and apache nifi
Tracking crime as it occurs with apache phoenix, apache hbase and apache nifi
 
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...Processing Real-Time Data at Scale: A streaming platform as a central nervous...
Processing Real-Time Data at Scale: A streaming platform as a central nervous...
 
Confluent Cloud for Apache Kafka® | Google Cloud Next ’19
Confluent Cloud for Apache Kafka® | Google Cloud Next ’19Confluent Cloud for Apache Kafka® | Google Cloud Next ’19
Confluent Cloud for Apache Kafka® | Google Cloud Next ’19
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka
 
Kai Waehner [Confluent] | Real-Time Streaming Analytics with 100,000 Cars Usi...
Kai Waehner [Confluent] | Real-Time Streaming Analytics with 100,000 Cars Usi...Kai Waehner [Confluent] | Real-Time Streaming Analytics with 100,000 Cars Usi...
Kai Waehner [Confluent] | Real-Time Streaming Analytics with 100,000 Cars Usi...
 
Real time analytics in Azure IoT
Real time analytics in Azure IoT Real time analytics in Azure IoT
Real time analytics in Azure IoT
 
SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
SIEM Modernization: Build a Situationally Aware Organization with Apache Kafka®
 
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
Building a Secure, Tamper-Proof & Scalable Blockchain on Top of Apache Kafka ...
 
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
 
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
Technical Deep Dive: Using Apache Kafka to Optimize Real-Time Analytics in Fi...
 

Similar to Battle Tested Event-Driven Patterns for your Microservices Architecture

Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Luis Lopez
 

Similar to Battle Tested Event-Driven Patterns for your Microservices Architecture (20)

Jax london - Battle-tested event-driven patterns for your microservices archi...
Jax london - Battle-tested event-driven patterns for your microservices archi...Jax london - Battle-tested event-driven patterns for your microservices archi...
Jax london - Battle-tested event-driven patterns for your microservices archi...
 
Battle-tested event-driven patterns for your microservices architecture - Sca...
Battle-tested event-driven patterns for your microservices architecture - Sca...Battle-tested event-driven patterns for your microservices architecture - Sca...
Battle-tested event-driven patterns for your microservices architecture - Sca...
 
Battle-tested event-driven patterns for your microservices architecture - Sca...
Battle-tested event-driven patterns for your microservices architecture - Sca...Battle-tested event-driven patterns for your microservices architecture - Sca...
Battle-tested event-driven patterns for your microservices architecture - Sca...
 
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
 
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
Polyglot, fault-tolerant event-driven programming with kafka, kubernetes and ...
 
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
Nubomedia: the cloud infrastructure for WebRTC and IMS multimedia real-time c...
 
Set Your Data In Motion - CTO Roundtable
Set Your Data In Motion - CTO RoundtableSet Your Data In Motion - CTO Roundtable
Set Your Data In Motion - CTO Roundtable
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
 
Colt Network On Demand
Colt Network On DemandColt Network On Demand
Colt Network On Demand
 
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
Polyglot, Fault Tolerant Event-Driven Programming with Kafka, Kubernetes and ...
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with K...
 
Managing and Implementing Network Function Virtualization with Intelligent OSS
Managing and Implementing Network Function Virtualization with Intelligent OSSManaging and Implementing Network Function Virtualization with Intelligent OSS
Managing and Implementing Network Function Virtualization with Intelligent OSS
 
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka EcosystemBuilding event-driven (Micro)Services with Apache Kafka Ecosystem
Building event-driven (Micro)Services with Apache Kafka Ecosystem
 
James Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 KeynoteJames Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 Keynote
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
 
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
BuildStuff - Lessons Learned from 2000 Event Driven MicroservicesBuildStuff - Lessons Learned from 2000 Event Driven Microservices
BuildStuff - Lessons Learned from 2000 Event Driven Microservices
 
kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1kurento-nubomedia-first-steps-v1
kurento-nubomedia-first-steps-v1
 
Putting the Micro into Microservices with Stateful Stream Processing
Putting the Micro into Microservices with Stateful Stream ProcessingPutting the Micro into Microservices with Stateful Stream Processing
Putting the Micro into Microservices with Stateful Stream Processing
 
Event Driven Services Part 3: Putting the Micro into Microservices with State...
Event Driven Services Part 3: Putting the Micro into Microservices with State...Event Driven Services Part 3: Putting the Micro into Microservices with State...
Event Driven Services Part 3: Putting the Micro into Microservices with State...
 
Real-Time Event Processing
Real-Time Event ProcessingReal-Time Event Processing
Real-Time Event Processing
 

More from Natan Silnitsky

More from Natan Silnitsky (20)

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
Workflow Engines & Event Streaming Brokers - Can they work together? [Current...
 
DevSum - Lessons Learned from 2000 microservices
DevSum - Lessons Learned from 2000 microservicesDevSum - Lessons Learned from 2000 microservices
DevSum - Lessons Learned from 2000 microservices
 
GeeCon - Lessons Learned from 2000 microservices
GeeCon - Lessons Learned from 2000 microservicesGeeCon - Lessons Learned from 2000 microservices
GeeCon - Lessons Learned from 2000 microservices
 
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
Migrating to Multi Cluster Managed Kafka - ApacheKafkaILMigrating to Multi Cluster Managed Kafka - ApacheKafkaIL
Migrating to Multi Cluster Managed Kafka - ApacheKafkaIL
 
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven MicroservicesWix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
Wix+Confluent Meetup - Lessons Learned from 2000 Event Driven Microservices
 
Lessons Learned from 2000 Event Driven Microservices - Reversim
Lessons Learned from 2000 Event Driven Microservices - ReversimLessons Learned from 2000 Event Driven Microservices - Reversim
Lessons Learned from 2000 Event Driven Microservices - Reversim
 
Devoxx Ukraine - Kafka based Global Data Mesh
Devoxx Ukraine - Kafka based Global Data MeshDevoxx Ukraine - Kafka based Global Data Mesh
Devoxx Ukraine - Kafka based Global Data Mesh
 
Devoxx UK - Migrating to Multi Cluster Managed Kafka
Devoxx UK - Migrating to Multi Cluster Managed KafkaDevoxx UK - Migrating to Multi Cluster Managed Kafka
Devoxx UK - Migrating to Multi Cluster Managed Kafka
 
Dev Days Europe - Kafka based Global Data Mesh at Wix
Dev Days Europe - Kafka based Global Data Mesh at WixDev Days Europe - Kafka based Global Data Mesh at Wix
Dev Days Europe - Kafka based Global Data Mesh at Wix
 
Kafka Summit London - Kafka based Global Data Mesh at Wix
Kafka Summit London - Kafka based Global Data Mesh at WixKafka Summit London - Kafka based Global Data Mesh at Wix
Kafka Summit London - Kafka based Global Data Mesh at Wix
 
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
Migrating to Multi Cluster Managed Kafka - Conf42 - CloudNative
 
5 Takeaways from Migrating a Library to Scala 3 - Scala Love
5 Takeaways from Migrating a Library to Scala 3 - Scala Love5 Takeaways from Migrating a Library to Scala 3 - Scala Love
5 Takeaways from Migrating a Library to Scala 3 - Scala Love
 
Migrating to Multi Cluster Managed Kafka - DevopStars 2022
Migrating to Multi Cluster Managed Kafka - DevopStars 2022Migrating to Multi Cluster Managed Kafka - DevopStars 2022
Migrating to Multi Cluster Managed Kafka - DevopStars 2022
 
Open sourcing a successful internal project - Reversim 2021
Open sourcing a successful internal project - Reversim 2021Open sourcing a successful internal project - Reversim 2021
Open sourcing a successful internal project - Reversim 2021
 
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
How to successfully manage a ZIO fiber’s lifecycle - Functional Scala 2021
 
Advanced Caching Patterns used by 2000 microservices - Code Motion
Advanced Caching Patterns used by 2000 microservices - Code MotionAdvanced Caching Patterns used by 2000 microservices - Code Motion
Advanced Caching Patterns used by 2000 microservices - Code Motion
 
Advanced Caching Patterns used by 2000 microservices - Devoxx Ukraine
Advanced Caching Patterns used by 2000 microservices - Devoxx UkraineAdvanced Caching Patterns used by 2000 microservices - Devoxx Ukraine
Advanced Caching Patterns used by 2000 microservices - Devoxx Ukraine
 
Advanced Microservices Caching Patterns - Devoxx UK
Advanced Microservices Caching Patterns - Devoxx UKAdvanced Microservices Caching Patterns - Devoxx UK
Advanced Microservices Caching Patterns - Devoxx UK
 
Advanced Caching Patterns used by 2000 microservices - Api World
Advanced Caching Patterns used by 2000 microservices - Api WorldAdvanced Caching Patterns used by 2000 microservices - Api World
Advanced Caching Patterns used by 2000 microservices - Api World
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Battle Tested Event-Driven Patterns for your Microservices Architecture