Fast but not Loose: Typesafe Clients in a Distributed Service Architecture
summary
Gilt migrates from Ruby to the JVM then to futures-based Scala clients that share case classes as wire schema and a core client/core model repo; ZooKeeper provides service discovery, circuit breakers and global config, Kafka/Rabbit and Fusion‑IO back the data pipeline, and a single mega‑sale once needed ~300 servers. The client‑per‑service model speeds development and enables emergent regression tests and replayable functional tests but also leads to accidental production load from batch jobs, prompting a shift toward event streams, Lambda/CQRS and moving code to the data.
AI-written summary · about
chapters (11)
- 0:00Start
- 25:46The network is reliable
- 26:31Bandwidth is infinite
- 26:55The network is secure
- 27:55There is one administrator
- 28:09Transport cost is zero
- 28:59The network is homogeneous
- 36:43Law of Instrument
- 37:19Pulling data.
- 37:53Pushing code.
- 38:28SOA, Reloaded
related talks
49mScala Server Toolkit: How to Write A FP Microservice Step-by-step
38mMonolith vs. Microservices
52m10 LESSONS LEARNED FROM USING KAFKA IN 1000 SCALA MICROSERVICES
56mModern Java microservices in the Cloud!
27mOptimize Your API with Event-Driven Microservice Architecture.
37mBeyond Microservices: Streams, State & Scalability
43mIntro to Stateful Services
53mHow do we build high‑load microservices
