Communication Patterns for Distributed Architectures
summary
Explains why the unit of deployment—not the label—drives distributed design, compares concrete integration options like function calls vs database as integration (tradeoffs: encapsulation, concurrency, schema blast radius), recommends immutability for safe sharing and caching to reduce latency and consistency pain, highlights practical resiliency tools (circuit breakers, timeouts, retries, compensating transactions) and contrasts broker (high scalability) vs mediator (simpler) while noting Java virtual threads can make synchronous code behave like async.
AI-written summary · about
chapters (12)
- 0:00Introduction to distributed architectures
- 1:05Monolith vs distributed systems
- 10:47Communication patterns overview
- 12:11Function calls and database communication
- 22:52Handling latency and failures
- 32:48Data exchange formats and reactive streams
- 43:06Graceful communication and Paul's law
- 47:00Broker vs mediator architectures
- 53:45Synchronous vs asynchronous communication
- 56:33Querying distributed data
- 57:58Distributed transactions
- 1:00:06Retries and compensating transactions
related talks
58mElements of Distributed Architectures
44mDistributed journey
30mDo Distributed Systems, they said. It'll be fun, they said
28mPractical Approaches To Scaling Distributed Transactions
50mCommunication in a Distributed World
42mApplication Architectures: The shadows and highlights of Event Driven Design
44mDistributed systems and scalability rules
29mFollowing the Data: A Deeper Look into Distributed Applications
