Skip to content

feat(saga-pattern): Add Lambda durable functions saga pattern impleme…#3014

Open
tafaman wants to merge 1 commit intoaws-samples:mainfrom
tafaman:saga-pattern-durable-functions
Open

feat(saga-pattern): Add Lambda durable functions saga pattern impleme…#3014
tafaman wants to merge 1 commit intoaws-samples:mainfrom
tafaman:saga-pattern-durable-functions

Conversation

@tafaman
Copy link
Copy Markdown

@tafaman tafaman commented Apr 8, 2026

SAGA Pattern using AWS Lambda durable functions

This pattern demonstrates AWS Lambda durable functions with saga orchestrator for distributed transaction coordination using Python 3.13, DynamoDB, and CDK. Key features include:

  • Saga orchestrator durable function for coordinating distributed transactions
  • Service functions for flight, hotel, and car reservation/cancellation
  • DynamoDB tables for storing reservation state across services
  • Automatic rollback with compensation logic on failures
  • CDK TypeScript infrastructure as code for automated deployment
  • aws-durable-execution-sdk integration for checkpoint execution

The pattern showcases how to implement a travel booking system where Lambda functions coordinate multiple service reservations and automatically compensate (rollback) completed steps when any downstream service fails.

…ntation

- Add saga orchestrator durable function for distributed transaction coordination
- Add service functions for flight, hotel, and car reservation and cancellation
- Add DynamoDB tables for storing reservation state across services
- Add CDK infrastructure as code for automated deployment
- Add comprehensive README with architecture diagrams and deployment instructions
- Add test scenarios for success and failure paths with compensation logic
- Add Python Lambda functions with aws-durable-execution-sdk integration
- Implements saga pattern for travel booking system with automatic rollback on failures
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants