La réponse de Panda Pyjama est plutôt bonne.
Fondamentalement, la question se résume à quelle est la quantité minimale de données que vous pouvez envoyer qui mettra plusieurs clients dans le même état de conscience les uns des autres, et comment gérez-vous le décalage où, pendant ce décalage, les clients pourraient être dans un état différent.
Généré de manière procédurale, où toutes les interactions sont connues à l'avance, c'est plus facile, car si toutes les variables sont connues, le résultat est connu. Par exemple, isoler quelqu'un dans une pièce dont vous connaissez les méthodes de traitement et lui donner un ensemble de données, vous pouvez prédire avec précision les résultats. Par conséquent, vous pouvez donner les résultats à tous les autres clients sans avoir à attendre que ce client termine son calcul.
Cependant, il n'a mentionné aucune méthode. Résultats forcés.
Si le système attend une action d'une entité et que d'autres actions dépendent de cette action et que d'autres calculs prennent en compte cette action et ont déjà été prétraités avec le résultat attendu. Ensuite, pour maintenir la synchronisation, l'ensemble du système est arrêté tandis que la seule entité qui n'est pas au bon endroit est correctement remise sur son chemin.
Un exemple réel est toutes les autres entités dans un schéma d'attente pour s'assurer que la compensation appropriée m'est envoyée.