incubator-seata-go
incubator-seata-go copied to clipboard
Sequential execution of state machine in seata-go Saga
This is a subtask under the #618
Description:
To mirror the Java implementation, we will continue with an event-driven architecture for state execution, involving the implementation of handlers and routers for states.
Implementation Details:
1. Foundational Component: seata-saga-processctrl Module
- Establish the
seata-saga-processctrlmodule as the foundational component for executing state machine processes.
2. Implementation of State-Related Components:
- Examine the
engine.pcextpackage, focusing on handlers and routers related to states. Initially, prioritize the implementation of handlers and routers specific toServiceTaskstates.
3. Progressive Development:
- During the implementation phase, temporarily set aside the handling of global and branch transactions from the Java code. Concentrate on the sequential execution of the processes, with the transactional aspects reserved for subsequent development tasks.
Next Steps:
-
Foundational Component -
seata-saga-processctrlModule:- Create the
seata-saga-processctrlmodule to serve as the foundation for executing state machine processes.
- Create the
-
Implementation of State-Related Components:
- Explore the
engine.pcextpackage and initiate the implementation of handlers and routers for states. Begin by focusing onServiceTaskstates.
- Explore the
-
Progressive Development:
- During the initial implementation, prioritize the sequential execution of processes. Temporarily ignore global and branch transaction handling, reserving it for subsequent development tasks.
By following these steps, we aim to establish the core components for sequential state machine process execution in seata-go, building upon the event-driven architecture observed in the Java implementation. The focus at this stage is on handling ServiceTask states, with transactional aspects addressed in subsequent development phases.
please assign to me