I have completed some of the design and prototype in my github. In the design document [1] my original idea was that a transaction consisted of a SagaActor and several TxActors, and later TxAcotr was removed to reduce implementation complexity. I haven't had time to modify the documentation yet, but the SagaActor state machine [2] is up to date. Here you can see the test cases of SagaActor [3]
[1] https://github.com/coolbeevip/playground/tree/master/state_machine_demo/saga-akkafsm <https://github.com/coolbeevip/playground/tree/master/state_machine_demo/saga-akkafsm> [2] https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/assets/saga_state_diagram.png <https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/assets/saga_state_diagram.png> [3] https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/src/test/java/coolbeevip/playgroud/statemachine/saga/SagaActorTest.java <https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/src/test/java/coolbeevip/playgroud/statemachine/saga/SagaActorTest.java> Lei Zhang > 在 2019年6月19日,下午2:34,zhaojun <[email protected]> 写道: > > If we use AKKA, how can we design the actors, and how can we guarantee omega > will receive the message synchronize.
