advancedCapstone: The Complete Event-Driven Bank

A team asks whether they really need event sourcing, CQRS, and sagas for a new service, or if a simpler CRUD approach would do. How would you help them decide?

Start by asking whether they can name a specific, concrete problem each pattern would solve for this particular service, rather than adopting them because they sound more sophisticated. Event sourcing earns its cost when a genuine, permanent audit trail matters — financial or regulatory domains, for instance — or when being able to fix a data bug retroactively by replaying is a real, anticipated need. CQRS earns its cost when read and write load are different enough in shape or scale that optimizing them separately produces a measurable improvement, not a theoretical one. Sagas earn their cost when the service genuinely coordinates multi-step processes across other services with real failure modes that need explicit compensation. If the service is simple, largely CRUD-shaped, has a small team unfamiliar with these patterns, and a well-indexed relational schema would answer every query it actually needs to answer, a simpler approach will very likely serve the team better, at least until a concrete problem actually appears that these patterns are the right fix for.

Ready to master this question?

Generate a complete walkthrough — background, the full answer in plain language, a working code example explained line by line, a real-world scenario, common mistakes, and how this same question gets asked in different ways.

Sign in to generate a response

Next Step

Continue to Why doesn't a typical Axon-based aggregate need a hand-built outbox table?← Back to all Event-Driven Microservices questions