Asynchronous Service Oriented Design
summary
GroupMe extracts async pieces with concrete results: a Redis-backed transport service replaces resque workers to cut variance and raise throughput, with a two-hour TTL on queued messages; an Apache Kafka event stream powers a separate news feed service so feeds are prebuilt and don't compete with real-time delivery. Metrics move from averages to percentiles, delivery semantics are explicit (at-most once / at-least once / exactly once), and the extra services survive real failures after iterative fixes.
AI-written summary · about
chapters (27)
- 0:00Start
- 4:07Patterns
- 4:29Fifo Queue
- 5:46Delivery Mechanisms
- 6:05Business Requirements
- 9:58Transport Service
- 11:32Easy Migration Path
- 12:03Event Stream
- 15:16News Feed Service
- 16:09Kafka
- 17:46Scalability
- 19:09Agility
- 20:10Cheap Experimentation
- 23:05Back Pressure
- 25:58Interoperability
- 27:38Concerns
- 27:48Monitoring
- 28:06Quality of Service
- 29:32Queue Size
- 30:14Delivery Guarantees
- 31:27Interface Synchronization
- 34:02Durability
- 35:39High Level Learnings
- 38:42Trade-Offs
- 41:29System Failure
- 41:47How Complex Systems Fail by Richard Cook
- 42:58Focus on the Interfaces between Your Systems
related talks
45mMicro Services and Events: Friends or Foes?
54mRethinking REST in a Microservices World
01h 02mAsynchronous Distributed Systems
22mAsynchronous Computing at Scale: Overview and Learning
48mIntegration- and conversation-patterns for microservices
32mService Extraction at Groupon Scale
44mThinking Asynchronously: App Integration Patterns for Microservices
23mThe rise of the service management ecosystem
