Evented Autonomous Services in Ruby
summary
Argues for building message-driven, event-sourced services in Ruby using the eventide toolkit and event stores (Postgres or eventstore org) instead of broker-centric queues like RabbitMQ or SQS; commands produce events, projections rebuild state, and services remain autonomous services that can be taken offline safely. Emphasizes no GET methods on services, shows example Ruby apps and toolchain, and claims the approach reduces cascading failures and makes debugging and productivity better.
AI-written summary · about
chapters (22)
- 0:00Intro
- 0:44Service-Oriented Architecture
- 0:59Not "Service" Objects
- 1:24Why Services?
- 1:52Decoupling
- 2:12It's easier to see mistakes
- 2:57You're a Ruby dev in a Ruby Shop... Why wouldn't you build services in Ruby?
- 5:04Brokers, Buses, Service Orchestration, etc
- 6:19Messaging
- 6:50Message Queues (and brokers)
- 10:50Commands And Events
- 18:28Autonomous Services
- 18:40Autonomy
- 19:03Take any service offline without causing any others to fail
- 20:16#1 Rule of Service Design: Services can't have GET methods
- 20:38Services do things, They don't represent things
- 23:10Popular Myths
- 23:43Adopting a programming language that you're not an expert with while adopting an architecture that you have no experience with is the most dangerous mission that you can possibly volunteer for
- 24:36You should use containers for microservices
- 26:26Message brokers are how microservices communicate
- 26:50A monolith is an evolutionary step on the way to microservices
- 30:05Recording and Production Confreaks
related talks
27mRuby Messaging Patterns
40mService Architectures for Mere Mortals
18mRuby Messaging Patterns
47mEvent-Driven Microservices = Microservices Done Right
27mScaling a Rails Monolith w/Event Driven Microservices
01h 25mBuilding microservices with event sourcing and CQRS
57mEvent Driven Collaboration
46mReliability Nirvana
