(par Juzdzewski Matthieu, M1 ALMA
et LE BRAS Marc, M1 ATAL)
Rendu du projet TinyInsta - Google AppEngine
Par manque de temps, nous n'avons pas pu régler correctement le problème de contention sur les "Likes".
Nous avons pensé au sharding mais nous voulions essayer avec une combinaison de memCache et Queues. Or, en l'état, notre approche ne fonctionne pas et le temps manque pour explorer l'autre possibilité.
Nous pensons avoir contourner le problème de la manière suivante : Si userA et userB follow userC, et userC poste une image, alors ce dernier n'a pas besoin d'envoyer quoi que ce soit à ses followers. Au lieu de cela, lorsque userA clique sur le bouton "UserC" dans sa liste "Following" (dans My profile), il va requéter les derniers posts de UserC. Ainsi, chaque follower va effectuer un simple read sur le datastore.
Comme nous utilisons le UserService de Google pour se log, la clé est l'email de l'utilisateur. (nous nous reposons sur l'unicité des comptes google)