Cómo Uber maneja miles de millones de pagos sin perder una sola transacción
En este video, vamos a explorar cómo Uber, una empresa que procesa miles de millones de pagos cada año, logra hacerlo sin perder una sola transacción. La solución innovadora de Uber para manejar su infraestructura de pago masiva es un fascinante relato de ingeniería y tecnología.
Todos sabemos cómo funciona Uber - hacemos clic en un botón, pagamos un viaje, y luego Uber paga al conductor. Pero ¿qué pasa cuando se escalona esto a 100 millones de usuarios, miles de millones de viajes y cientos de miles de millones de dólares siendo pasados alrededor? El sistema se vuelve increíblemente complicado, y el sistema de pago inicial utilizado por Uber ya no era viable.
El viaje de Uber desde la arquitectura monolítica a la arquitectura de microservicios
La solución de Uber fue evolucionar su stack de tecnología, pasando de una aplicación monolítica a una arquitectura de microservicios. Cambiaron de Postgres a mySQL y construyeron tecnología en todas partes alrededor de ella. Sin embargo, si hay una cosa que no puedes equivocar, es lidiar con dinero. El sistema de Uber estaba fallando grande, con el sistema siendo inestable, fragmentado y lento.
Reconstruyendo el sistema de pago desde cero
Para solucionar este problema, Uber reconstruyó su sistema de pago desde cero. Introdujeron un sistema basado en trabajos/órdenes, donde cada trabajo representa un viaje que un usuario realiza. También crearon LedgerStore, la base de datos de ledger personalizada de Uber.
La importancia de la inmutabilidad en transacciones financieras
Una de las características clave de LedgerStore es la inmutabilidad, que significa que una vez que se escribe una transacción en el ledger, no puede ser cambiada. Esto es crítico en transacciones financieras, donde la precisión y la confiabilidad son fundamentales.
La técnica de escritura en sombra para una transición de base de datos sin problemas
El proceso de migración de datos masivo de Uber implicó migrar 250 mil millones de registros a LedgerStore. Utilizaron una técnica llamada escritura en sombra, que les permite escribir datos en ambos sistemas antiguos y nuevos al mismo tiempo, asegurando una transición sin problemas.
Diferentes tipos de índices utilizados por Uber
Uber utiliza diferentes tipos de índices para manejar su conjunto de datos masivo, incluyendo índices fuertemente consistentes, eventualmente consistentes y índices de rango de tiempo. Cada tipo de índice se utiliza para propósitos específicos, como manejar autorizaciones de tarjeta de crédito o manejar datos históricos.
Conclusión
En conclusión, manejar miles de millones de pagos sin perder una sola transacción requiere una ingeniería y tecnología increíbles. La solución innovadora de Uber para manejar su infraestructura de pago es un testimonio del poder de la tecnología y la ingeniosidad humana.
Espero que hayas disfrutado de este video. No te olvides de suscribirte al canal y darle un like.