Tiktok es sin lugar a dudas la red social videos cortos más popular de la actualidad. Su cuota de usuarios activos ya superó la barrera de los 1000 millones. Eso sin dudas es una barbaridad y gestionarlo no es nada simple. En esta entrada te presentamos una arquitectura de software basada en microservicios, que podría -tentativamente- soportar una arquitectura de software para tiktok.

Diagrama de arquitectura

Para soportar el tráfico, la concurrencia y ofrecer niveles de calidad de servicio aceptables hemos diseñado una arquitectura que esta promovida por el desacoplamiento de los componentes usando como medio de comunicación principal un bus de mensajes con una tecnología como Kafka. El hecho de diseñar la arquitectura guiada por eventos ayuda a disminuir enormemente los problemas que trae consigo el uso de llamadas síncronas servicio-servicio.

Otra elemento clave de la arquitectura es el usar mecanismos adecuados de persistencia para cada funcionalidad particular de la plataforma, se propone el uso de Redis, PostgreSQL, Cassandra DB, Neo4j y ElasticSearch. El siguiente diagrama muestra la arquitectura diseñada y en el vídeo de Youtube mostrado debajo te explicamos todos los elementos claves.

Tiktok microservices architecture (clon)
Explicación de la arquitectura

Espero te sea útil el artículo y aprendas un poco más. Nos vemos en el siguiente 🙂