Backend for front end (BFF) SAGA pattern circuit breaker pattern bulkhead pattern sidecar pattern transactional outbox pattern CQRS