Episode 109: eBay’s Architecture Principles with Randy Shoup

Topics covered
Popular Clips
Episode Highlights
Event-Driven
eBay employs event-driven architectures to manage asynchronous processing efficiently. explains that by using queues, eBay can handle average loads rather than peak loads, smoothing out fluctuations in demand 1. This approach involves using event streams, where actions like listing or bidding on items trigger events that multiple systems can process asynchronously. He notes, "The primary use case that lists an item or bids an item or whatever, also as part of its insert or update of that record, also is inserting an item into an event table" 1. This system allows for efficient task management and reduces the need for real-time processing.
Multicast Messaging
Multicast messaging at eBay is used to achieve semi-reliable message delivery in asynchronous systems. Randy describes how updates are sent over a multicast message bus, where nodes listen for messages to update themselves 2. If a node misses a message, it requests a resend, ensuring reliability through persistent storage. He explains, "The way we make it reliable is that when nodes notice that they've missed a message, they send a message back to the search feeder application" 2. This method balances reliability with the inherent unreliability of multicast messaging.
Consistent Asynchrony
Balancing consistency and asynchrony is crucial for eBay's system reliability and performance. Randy discusses the trade-offs between consistency and scalability, emphasizing that distributed transactions can hinder scalability 3. Instead, eBay opts for a best-effort asynchronous approach, allowing for scalable and available systems. He states, "Once you realize, once you get the zen of being inconsistent, it frees you quite a lot to build systems that are scalable and available" 4. This strategy involves using asynchronous events to maintain system integrity without sacrificing performance.
Related Episodes


Episode 34: Enterprise Architecture
Answers 383 questions

SE-Radio Episode 355: Randy Shoup Scaling Technology and Organization
Answers 383 questions

Episode 25: Architecture Pt. 2
Answers 383 questions

Episode 208: Randy Shoup on Hiring in the Software Industry
Answers 383 questions

Episode 33: Service Oriented Architecture, Pt.2b
Answers 383 questions

Episode 189: Eric Lubow on Polyglot Persistence
Answers 383 questions

Episode 27: Service Oriented Architecture Pt.1
Answers 383 questions

Episode 32: Service Oriented Architecture, Pt.2a
Answers 383 questions

Episode 212: Randy Shoup on Company Culture
Answers 383 questions
Episode 41: Architecture Patterns (Architecture Pt. 4)
Answers 383 questions

Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock
Answers 383 questions

SE-Radio Episode 344: Pat Helland on Web Scale
Answers 383 questions
Episode 115: Architecture Analysis
Answers 383 questions

Episode 40: Interview Werner Vogels
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions













