YoVDO

Six Little Lines of Fail

Offered By: NDC Conferences via YouTube

Tags

NDC Conferences Courses E-commerce Courses Distributed Systems Courses Orchestration Courses SAGA Pattern Courses

Course Description

Overview

Explore the complexities of distributed systems in this insightful conference talk that delves into the challenges of implementing a seemingly simple checkout page. Learn how six lines of code can hide potential failures and system-wide issues. Discover the importance of anticipating and planning for failures in distributed computing. Examine various strategies for handling failures between interconnected systems, including retrying, undoing actions, and coordinating processes. Gain valuable insights into modern e-commerce practices, such as background processing for order fulfillment. Investigate advanced concepts like routing slips, saga patterns, and process manager patterns. Compare orchestration and choreography approaches in distributed system design. Walk away with a deeper understanding of building resilient checkout processes that embrace the realities of distributed computing.

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

Related Courses

Online Master of Computer Science
Arizona State University via Coursera
Blockchain Scalability and its Foundations in Distributed Systems
The University of Sydney via Coursera
Blockchain Fundamentals: Understanding the Origins, Mechanisms, and Applications of Decentralized Systems
SDA Bocconi School of Management via edX
Blockchain Technology
University of California, Berkeley via edX
Building Globally Distributed Databases with Cosmos DB
Coursera Project Network via Coursera