Go Time: Golang, Software Engineering

Event-driven systems & architecture

24 snips
Nov 14, 2023
Event-driven systems present challenges but offer durability, autonomy, and flexibility. The podcast explores event-driven architecture, its problems and solutions. Topics include choreography vs orchestration, event sourcing, CQRS, and cloud-based workflow solutions. The speakers discuss autonomy and loose coupling in event-driven systems, design trade-offs, changing implementations, and the importance of organizational structure in software development.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Orchestration vs Choreography

  • Orchestration uses a central controller to explicitly define process flow and improve debuggability.
  • Choreography distributes control among services but lacks centralized visibility, complicating debugging.
ADVICE

Favor Asynchronous Messaging

  • Use asynchronous messaging with events or commands between services instead of synchronous calls.
  • This approach enables scalability and loose coupling in distributed systems.
INSIGHT

Knowledge Distribution Trade-Offs

  • Orchestration centralizes domain knowledge in a process manager, keeping individual services simple.
  • Choreography distributes domain knowledge, making services aware of each other's event lifecycles.
Get the Snipd Podcast app to discover more snips from this episode
Get the app