Using sagas to maintain data consistency in a microservice architecture by Chris Richardson