Brook: Distributed Event-based Orchestration in Elixir
summary
Brook is an event-stream library that wires microservices with an event bus (Kafka by default, Redis for dev), serializes events to JSON with __brook_struct so structs survive language boundaries, and stores per-component view state that is cached in memory (inets) and persisted for replay and crash recovery. Handlers implement a single callback with multiple pattern-match heads, adapters let you swap Kafka/Redis/Postgres later, and dynamic supervisors rehydrate jobs from view state; it is running in production data pipelines.
AI-written summary · about
chapters (10)
- 0:00Intro
- 2:42Microservices
- 5:34Challenges
- 7:52Four Steps
- 12:20Brook
- 14:02Event Handler
- 16:00Serializer
- 17:45Example
- 23:47Limitations
- 27:17Summary
related talks
45mMicro Services and Events: Friends or Foes?
42mCreating event-driven microservices: the why, how and what
54mReacting to an Event-Driven World
27mEvent Streaming Patterns for Ruby Services
57mSimplify Your Architecture: Events and Publishing
39mEvent Driven Architecture: From Ideation to Production
31mEvent Streaming on Rails
46mState or events? Which shall I keep?
