Coinbase escaló nuestro servicio de Usuarios para mantener más de 1,5 millones de lecturas de identidad por segundo. Así es como: - Dividimos el objeto de usuario monolítico en grupos lógicos independientes llamados "Fragmentos". - Migración de un único clúster MongoDB a un sistema federado usando tanto MongoDB como DynamoDB. - Para escrituras concurrentes, implementamos el Control Optimista de Concorrencia (OCC), que utiliza un campo de versión de recurso para comparar y intercambiar al escribir, evitando bloqueos globales lentos. - Para garantías fuertes de lectura después de la escritura en flujos críticos, utilizamos "Tokens de Frescura". Estos tokens se transmiten en la solicitud de lectura para garantizar que los datos devueltos sean al menos tan frescos como la versión asociada al token, saltándose la caché si es necesario. - Introdujimos un mecanismo de corte de carga que desvía dinámicamente una parte del tráfico entrante a un grupo objetivo ficticio cuando el servicio detecta sobrecarga, evitando un bucle de muerte de MongoDB y permitiendo que el servicio se degrade de forma eficiente. Esta arquitectura nos da la escalabilidad para manejar los enormes e impredecibles picos del mercado cripto y la resiliencia para ser un servicio sobre el que Coinbase pueda construir con confianza.