wt-better opened a new issue, #731: URL: https://github.com/apache/incubator-seata-go/issues/731
Saga is a distributed transaction processing mode used to ensure consistency in distributed systems.The state machine mode of saga implemented in seata java, it`s needs to be support in seata go. The saga state machine is composed of state nodes, among which the choice node type determines the routing branch based on the expression result. We can also use expressions to obtain values in the input and output parameters of the state. Example: `{ "Type": "Choice", "Choices":[ { "Expression":"[a] == 1", "Next":"SecondState" }, { "Expression":"[a] == 2", "Next":"ThirdState" } ], "Default":"Fail" }` ` "SecondState": { "Type": "ServiceTask", "ServiceName": "demoService", "ServiceMethod": "bar", "Input": [ { "barInput": "$.[fooResult]" } ], "Output": { "result": "$.result" }, "Next": "Succeed" }` We need to implement expression execution and parsing. Considering the development trend of Seata in multiple languages, we need to choose a language-independent and neutral expression engine. For example, Google's Cel. You can also refer to other frameworks such as Argo and Lamba to make a selection and development. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@seata.apache.org For additional commands, e-mail: notifications-h...@seata.apache.org