Embed presentation
Download as PDF, PPTX

























This document discusses eBay's architectural principles for scaling its large ecommerce site. It outlines four main strategies: (1) Partition everything by data, load, or usage to split problems into manageable chunks and allow independent scalability. (2) Use asynchronous processing wherever possible to improve scalability, availability, and latency. (3) Favor automated and adaptive systems over manual processes to reduce costs and improve functionality. (4) Design all systems to be failure-tolerant by assuming failure, rapidly detecting and recovering from failures, and degrading gracefully when necessary. Specific patterns for implementing each strategy across databases, applications, search, and other areas are also discussed.

























Introduction to eBay's strategies for managing extensive eCommerce architecture.
Key metrics: 276M users, $2039 goods traded/second, 2PB data stored. Performance demands detailed.
Key principles: Scalability, Availability, Latency, Manageability, and Cost in system design.
Four main strategies include Partitioning, Asynchronous Processing, Automation, and Failure Preparedness.
Importance of dividing problems into chunks for scalability, manageability, and cost efficiency.
Functional segmentation and horizontal split to enhance database management and efficiency.
eBay's transaction policy ensures minimal consistency sacrifice for better availability and partition-tolerance.
Segmentation in application pools to reduce dependencies and enhance scalability and resilience.
Decoupling read-only functions from write-intensive databases to optimize search capabilities.
Adoption of asynchronous processes for better scalability, availability, and user experience.
Implementation of event-driven architecture to handle real-time data efficiently.
Scheduled processes for bulk data updates, maintaining system performance.
Automation for better scalability, reduced human error, and enhanced operational efficiency.
Dynamic adjustment of resources to meet SLAs, optimizing performance and resource use.
Using machine learning to optimize user interactions based on real-time behavior data.
Building tolerance into systems for expected and unexpected failures.
Logging mechanisms for real-time monitoring and post-failure analysis capabilities.
Strategies for safe code deployment and rollback procedures to minimize disruptions.
Configurations for feature toggling to enable or disable features independently.
Implementing systems to detect and respond to resource failure efficiently.
Summary of key strategies for scaling and managing eBay's complex eCommerce architecture.
Open floor for questions regarding eBay's architectural principles and strategies.