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

Reply via email to