A B Testing Workflow
patterns
This workflow models comparing two versions to see which performs better.
patterns
Dead letter queue pattern for handling failed messages with retry exhaustion detection, DLQ routing, manual inspection, and reprocessing capability.
MainQueue { # Main Queue
n1: circle label:"Start"
n2: rectangle label:"Receive message"
n3: rectangle label:"Attempt processing"
n4: diamond label:"Processing successful?"
n5: rectangle label:"Acknowledge message"
n6: rectangle label:"Increment retry count"
n7: circle label:"End"
n1.handle(right) -> n2.handle(left)
n2.handle(right) -> n3.handle(left)
n3.handle(right) -> n4.handle(left)
n4.handle(right) -> n5.handle(left) [label="Yes"]
n4.handle(bottom) -> n6.handle(top) [label="No"]
n5.handle(right) -> n7.handle(left)
n6.handle(bottom) -> RetryLogic.n8.handle(top) [label="Check retries"]
}
RetryLogic { # Retry Logic
n8: diamond label:"Max retries exceeded?"
n9: rectangle label:"Wait with backoff"
n10: rectangle label:"Requeue message"
n11: rectangle label:"Move to DLQ"
n8.handle(right) -> n9.handle(left) [label="No"]
n8.handle(bottom) -> n11.handle(top) [label="Yes"]
n9.handle(right) -> n10.handle(left)
n10.handle(top) -> MainQueue.n3.handle(bottom) [label="Retry"]
n11.handle(bottom) -> DeadLetterQueue.n12.handle(top) [label="Failed"]
}
DeadLetterQueue { # Dead Letter Queue
n12: rectangle label:"Store failed message"
n13: rectangle label:"Log failure details"
n14: rectangle label:"Send alert notification"
n15: rectangle label:"Await manual review"
n16: diamond label:"Reprocess or discard?"
n17: rectangle label:"Move back to main queue"
n18: rectangle label:"Archive and delete"
n12.handle(right) -> n13.handle(left)
n13.handle(right) -> n14.handle(left)
n14.handle(right) -> n15.handle(left)
n15.handle(right) -> n16.handle(left)
n16.handle(right) -> n17.handle(left) [label="Reprocess"]
n16.handle(bottom) -> n18.handle(top) [label="Discard"]
n17.handle(top) -> MainQueue.n2.handle(bottom) [label="Retry"]
n18.handle(top) -> MainQueue.n7.handle(bottom) [label="Discarded"]
}
patterns
This workflow models comparing two versions to see which performs better.
patterns
API Gateway pattern with request authentication, rate limiting, request routing to backend services, response aggregation, and error handling.
patterns
User authentication workflow with credential validation, MFA challenge, JWT token generation, session creation, and failed attempt tracking.
patterns
This workflow models checking user permissions before actions run.
patterns
Batch processing pattern with job scheduling, chunk-based processing, checkpoint/restart capability, error handling, and completion reporting.