SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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...
 

Semelhante a 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
 

Semelhante a 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
 

Mais de Natan Silnitsky

Mais de 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
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

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
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Battle Tested Event-Driven Patterns for your Microservices Architecture