J'ai une application où l'entité principale est un Story
et les utilisateurs peuvent voter pour chaque histoire. Chaque vote incrémente un vote_count
pour l'histoire.Comment trier par un compteur lors de l'utilisation de compteurs fragmentés
Je suis préoccupé par les conflits d'écriture sur l'histoire, donc je prévois d'utiliser un sharded counter pour chaque histoire pour suivre les votes.
Maintenant ma question: comment pourrais-je obtenir une liste d'histoires classées par nombre de votes? Par exemple: montrez les 50 histoires les plus populaires.
Ma pensée initiale est d'avoir une tâche exécutée périodiquement qui lit les valeurs de compteur et met à jour une propriété sur l'histoire réelle. Il serait bon que les résultats de la requête par vote soient légèrement dépassés.
Optimisation prématurée: Je suis d'accord qu'il est probablement trop cher pour une nouvelle application sans conflit d'écriture démontré, mais considérez ceci comme une question d'apprentissage et supposons que l'application recevra 10 écrit/seconde aux compteurs. – cope360
C'est une question intéressante. Je n'avais jamais entendu parler des compteurs remplacés auparavant, alors j'ai hâte d'avoir plus de réponses. –
J'ai ajouté un lien à la question si vous voulez vérifier comment ils fonctionnent. – cope360