Disons que j'ai représenté mon entité Employee en tant qu'acteur. J'ai 2 services également modélisés en tant qu'acteurs. Les deux manipulent l'état d'un acteur employé qu'il a reçu en lui envoyant des messages. Maintenant, disons que les deux services traitent le même acteur. Maintenant, il est tout à fait possible qu'un acteur employé de recevoir des messages de changement de l'état dans l'ordre suivant des deux services A et BComment atteindre MVCC dans le modèle d'acteur
Employee <- |a1|a2|a3|b1|b2|b3|
C'est très bien. Mais parfois, ce ne est pas
Employee <- |a1|b1|a2|b2|a3|b3|
Peut-être que a2
dépendait de l'état modifié par a1
, mais b1
changé
Par analogie avec les bases de données, nous avons des transactions afin que nous puissions travailler avec un seul instantané/version des données tout au long de la durée de vie des transactions. Dans le modèle impératif, nous verrouillerions l'ensemble de l'objet employé et mettrions à jour son état de la même façon que la base de données le ferait.
Est-il possible qu'un acteur puisse recevoir des messages groupés qui seront traités comme une série atomique de messages? Ou est-ce que ma modélisation de mes données elle-même est défectueuse?
C'est ce que j'ai fini avec. Quels que soient les changements que j'aurais écrits à l'intérieur d'un bloc de transaction, j'ai fait un message qui exécute complètement cette transaction en utilisant un seul message! Merci! –