Thanks Zhang Lei - it is really great work !

I think we could describe every event and state with more details, e.g.
SagaStartedEvent: it is the event to start a global transaction
SagaEnededEvent: it is the event to close a global transaction
SagaAbortedEvent: it is the event to abort a global transaction and cause
the sub-transactions to do the compensate
SagaTimeoutEvent: it is the event to indicate the global transaction is
timeout and need the checking manually ? (I am not very if I understand
this event correctly)

Also we could add the similar descriptions with the states.
SUSPEND, COMMITTED, COMPENSATED are the three final states, right ?

Thanks again !
Zheng Feng


Zhang Lei <[email protected]> 于2019年5月13日周一 下午11:50写道:

> I wrote a preliminary design [1] based on wiki [2], , Maybe not perfect or
> something I don't know.
>
> Any suggestions?
>
> [1]
> https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/README.md
> <
> https://github.com/coolbeevip/playground/blob/master/state_machine_demo/saga-akkafsm/README.md
> >
> [2]
> https://cwiki.apache.org/confluence/display/SERVICECOMB/Using+StateMachine+for+tracing+the+transaction+states
> <
> https://cwiki.apache.org/confluence/display/SERVICECOMB/Using+StateMachine+for+tracing+the+transaction+states
> >
>
> Lei Zhang

Reply via email to