Lecciones sobre escalabilidad de eBay
El eBay Distinguished Architect, Randy Shoup, ofreción una presentación sobre la escalabilidad de eBay que es bastante interesante. Lógicamente, pocos de nosotros nos vamos a encontrar con una décima parte de lo que ellos tienen:
- 89 millones de usuarios activos en el mundo
- 190 millones de elementos en 50.000 categorías
- 8.000 millones de URLs solicitadas cada día
- 70.000 millones de operaciones de lectura/escritura cada día
- 50TB de datos nuevos cada día
- 50PB de datos analizados cada día
Pero las lecciones que nos ofrece son bastante interesantes, de las cuales me gustaría destacar:
- Particionalo todo: si no puedes dividirlo no puedes escalarlo. Divídelo todo en elementos manejables separados por funcionalidad y tipo de datos.
- Asincronismo: conecta componentes independientes mediante una cola de eventos.
- Todo falla: monitorizalo todo, porque seguro que falla
- Siempre hay cambios: diseña de forma que puedan añadirse nuevas funcionalidades
- Automatízalo todo: aunque en este caso el autor se refiere a procesos de aprendizaje, yo lo enfocaría a que se eviten procesos manuales
eBay’s Challenges and Lessons: from Growing an eCommerce Platform to Planet Scale
Vía / High Scalability