La respuesta de Panda Pyjama es bastante buena.
Básicamente, la pregunta se reduce a cuál es la cantidad mínima de datos que puede enviar que pondrá a varios clientes en la misma conciencia del estado de los demás, y cómo maneja el retraso en el que durante ese retraso los clientes podrían estar en un estado diferente.
Por lo tanto, se genera de manera procesal, donde todas las interacciones se conocen de antemano es más fácil, ya que si se conocen todas las variables, entonces se conoce el resultado. Por ejemplo, aislar a alguien en una habitación, que conoce los métodos de procesamiento, y darle un conjunto de datos, puede predecir con precisión los resultados. Por lo tanto, puede dar los resultados a todos los demás clientes sin tener que esperar a que ese cliente termine su cálculo.
Sin embargo, no mencionó un método. Resultados forzados.
Si el sistema espera una acción de alguna entidad, y otras acciones dependen de esa acción, y otros cálculos tienen en cuenta esa acción, y ya se han procesado previamente con ese resultado esperado. Luego, para mantener la sincronización, todo el sistema se detiene mientras la única entidad que no está en el lugar correcto se vuelve a colocar correctamente en su camino.
Un ejemplo del mundo real son todas las demás entidades en un patrón de espera para asegurarse de que se me envíe la compensación adecuada.