Event Streaming on Rails
summary
Large Rails monolith (about 43,000 Ruby files and thousands of routes) migrates to Kafka-based event streaming using the Ruby Kafka gem, Kafka Connect and CDC to avoid dual-write and enable region-to-region replication and replays (retention ~one week). A transactional outbox pattern ensures transactional consistency, Kafka multicasts allow independent consumers, and Kafka Connect / hosted MSK or Confluent handle ops; the pipeline is built and works but requires careful idempotency and schema management.
AI-written summary · about
chapters (14)
- 0:00Welcome
- 1:05Procore’s Rails scaling
- 3:10Event streams and Kafka
- 4:32Kafka from Ruby
- 7:43Why Kafka for Rails
- 11:30Service communication in Rails
- 13:58Multicast with event streams
- 16:24Kafka Connect and data stores
- 18:30Event sourcing and CQRS
- 22:00Replication strategies
- 23:22Kafka in Rails apps
- 25:29Dual writes and CDC
- 28:16Consistent producers
- 28:58Summary and future
related talks
27mEvent Streaming Patterns for Ruby Services
42mSimplifying Logs, Events and Streams: Kafka + Rails
35mSo You’ve Got Yourself a Kafka: Event-Powered Rails Services
11mSpinning up micro-services using Ruby/Kafka
33mI Can’t Believe It’s Not A Queue: Using Kafka with Rails
30mEvent Streaming and the Future of Applications
11mSpinning up micro-services using Ruby/Kafka
21mHow Apache Kafka® Generates Value In Retail With Confluent
