Skip to main content

Posts

Showing posts with the label event-driven

6 Event Driven Architecture Patterns — Part 2

6 Event Driven Architecture Patterns — Part 2 As promised, this is the second part of a two part series on key patterns of event-driven messaging designs that have been implemented at Wix and that have facilitated creating a robust distributed system that can easily handle increasing traffic and storage needs by more than 1400 microservices. Photo by Braden Collum on Unsplash I recommend reading part 1 first, where I write about ‘consume and project’, ‘event-driven end to end’, and ‘in memory Key-Value stores’. Here are the next 3 patterns: 4. Schedule and Forget …when you need to make sure scheduled events are eventually processed There are many cases where Wix microservices are required to execute jobs according to some schedule. One example is Wix Payments Subscriptions Service that manages subscription-based payments (e.g. subscription to Yoga classes). For each user that has a monthly or yearly subscription, a renewal process with the payment provider has to take place. To tha...

6 Event-Driven Architecture Patterns — Part 1

6 Event-Driven Architecture Patterns — Part 1 For the past year, I’ve been part of the data-streams team that is in charge of Wix ’s event-driven messaging infrastructure (on top of Kafka ). This infrastructure is used by more than 1400 microservices. During this period I’ve implemented or have witnessed implementations of several key patterns of event-driven messaging designs that have facilitated creating a robust distributed system that can easily handle increasing traffic and storage needs . 3 of these are in this post and another 3 are in part 2 . Photo by Denys Nevozhai on Unsplash 1. Consume and Project …for those very popular services that become a bottleneck This pattern can help when you have a bottleneck legacy service that stores “popular” data of large domain objects. At Wix, this was the case with our MetaSite service that holds a lot of metadata for each site created by Wix users, like the site version, the site owner, and which apps are installed on the site — The ...