
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.
AI Snips
Chapters
Transcript
Episode notes
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.
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.
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.
