Applying the Saga Pattern • Caitie McCaffrey • GOTO 2015
Video Statistics and Information
Channel: GOTO Conferences
Views: 161,485
Rating: undefined out of 5
Keywords: Caitie McCaffrey, GOTO, GOTOcon, GOTO Conference, Computer Science (Field Of Study), Programming Language (Software Genre), Mathematics (Field Of Study), Software (Industry), Distributed Systems
Id: xDuwrtwYHu8
Channel Id: undefined
Length: 34min 15sec (2055 seconds)
Published: Mon Jul 13 2015
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.
FYI, here's the talk Abstract
As we build larger more complex applications and solutions that need to do collaborative processing the traditional ACID transaction model using coordinated 2-phase commit is often no longer suitable. More frequently we have long lived transactions or must act upon resources distributed across various locations and trust boundaries. The Saga Pattern is a useful model for long lived activities and distributed transactions without coordination.
Sagas split work into a set of transactions whose effects can be reversed even after the work has been performed or committed. If a failure occurs compensating transactions are performed to rollback the work. So at its core the Saga is a failure Management Pattern, making it particularly applicable to distributed systems.
In this talk, I'll discuss the fundamentals of the Saga Pattern, and how it can be applied to your systems. In addition we'll discuss how the Halo 4 Services successfully made use of the Saga Pattern when processing game statistics, and how we implemented it in production.
Jump in a longship, row across the ocean, and steal code?
This was a pretty interesting talk, and given in a very accessible way. I have never really touched web server stuff, but I found I was still able to follow most of it, and get the main idea.
This talk was awesome. She seems super sharp.
For anyone interested in a client-side implementation of sagas, take a look at redux-saga.
Github: https://github.com/redux-saga/redux-saga
Redux is mainly a library used by React developers which you might not be... But for a working implementation in a common language its pretty good.