Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Six Little Lines of Fail

NDC Conferences via YouTube

Overview

The course aims to teach learners about the complexities and challenges of implementing seemingly simple features in distributed systems. By examining the failures that can arise from just six lines of code, participants will learn to plan for and mitigate potential issues. The course covers strategies for dealing with failures between systems, such as retrying, undoing, and coordinating actions. The teaching method involves analyzing real-world scenarios and discussing ways to refactor code towards a more resilient checkout process. This course is intended for developers and software engineers looking to enhance their understanding of distributed systems and improve their system design skills.

Syllabus

Intro
6 little, innocuous lines of code
Failure is ALWAYS an option
is probably not good for business
We can't put the world into a transaction
Assume failures
Plan for the worst
4 options for dealing with failures between two systems
The Master Plan
For each external resource, examine possibilities and pick best option based on business requirements
First up: Stripe
Probably don't want to ignore a failed payment
Retry
Undo
Not unless we want duplicate emails
We can't un-send emails
Finally: RabbitMQ
Can't un-send a message
Compensating message is... weird
Coordinate
Taking a step back
Can we avoid exceptions by breaking the process coupling?
Way too much going on in a single button click
Modern ecommerce uses background processing to fulfill orders
Starting the workflow
Routing slip
Saga pattern
Process manager pattern
Orchestration or choreography?

Taught by

NDC Conferences

Reviews

Start your review of Six Little Lines of Fail

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.