Une bonne approche de la synchronisation des données

Envisagez le scénario suivant Une application web sert des ressources par le biais d'une API RESTful. Un certain nombre de clients d'utiliser cette API. L'objectif est de conserver les données sur les clients synchronisé avec l'application web (dans les deux directions).

La façon la plus simple pour ce faire est de demander à l'API si les ressources ont changé depuis le dernier client synchronisé avec l'API. Cela signifie que le client doit demander à l'API pour les ressources appropriées accompagné par timestamp (pour voir si les données doivent être à jour). Cela me semble être l'approche avec le moins de frais généraux en termes de consommation inutile de la bande passante.

Cependant, j'ai le sentiment que cette approche a quelques inconvénients en termes de conception et de responsabilités. Par exemple, les API ne devriez pas avoir à traiter avec vérifier si les ressources ne sont pas à jour. Il semble que la seule responsabilité de l'API doit être de servir les ressources lors de la demande sans avoir à traiter avec la mise à jour de l'aspect. En suivant cette seconde approche, le client doit demander beaucoup de données chaque fois qu'il veut mettre à jour ses données afin de les garder synchronisés avec l'application web. En d'autres termes, le client devrait vérifier si les données qu'il a obtenu à dos est plus récent que les données stockées localement. Si ce processus se produit à intervalles de quelques minutes, cela peut devenir un lourd fardeau pour le système.

Suis-je en voyant cela correctement ou est-il un moyen de la route que je suis dominant?

InformationsquelleAutor Bart Jacobs | 2012-08-01