An event-driven approach to building Elixir applications
summary
A demo application called Segment Challenge records Strava webhooks, fetches activity data with Phoenix/Ecto, and originally updated leaderboards in Postgres within a single request that risked violating a two-second timeout. Replacing CRUD with event sourcing stores immutable domain events in an EventStore, delivers them at-least-once to independent processors, and projects purpose-built read models; that enables reliable leaderboard updates, activity feeds and retryable email notifications without corrupting state.
AI-written summary · about
chapters (9)
- 0:00An event-driven approach to building Elixir applications
- 0:30Let's start by introducing the application
- 8:40Using domain events as the source of truth
- 12:36How do I design using events?
- 15:20What about changing requirements?
- 16:49Dealing with external events
- 19:03Extending third party providers
- 19:56What Elixir tooling is available?
- 20:39BUILDING CONDUIT
related talks
45mMicro Services and Events: Friends or Foes?
41mIdioms for building fault-tolerant applications with Elixir
39mAn adventure in distributed programming
52mHidden gems and traps that you probably didn't think of using Event Sourcing
35mEvent sourcing after page 1: How we built a cloud native bank
47mGive Your Application Memories
50mPlaytrip: a CQRS/ES Architecture in Erlang
12mObject Oriented Thinking with Elixir and OTP
