thunguo opened a new issue, #92:
URL: https://github.com/apache/incubator-seata-go-samples/issues/92

   ## Scenario
   
   A passenger requests a ride. Creating a valid order requires five services 
to 
   each reserve their own resources first. Only when all reservations succeed 
does 
   the order get confirmed across all services. If any one fails, all 
already-reserved 
   resources must be explicitly released.
   
   Services involved:
   - **order-service** — creates a pending order
   - **dispatch-service** — reserves an available driver
   - **pricing-service** — locks the estimated fare
   - **coupon-service** — freezes the user's selected coupon
   - **capacity-service** — reserves a vehicle slot
   
   ## What to implement
   
   Each service implements three explicit methods: Try (reserve), Confirm 
(commit), 
   and Cancel (release). The ride-order-service acts as the global transaction 
   initiator and coordinates the full TCC lifecycle via seata-go.
   
   Include a failure simulation where dispatch-service fails to find an 
available 
   driver at the Try phase. Demonstrate that coupon, capacity, pricing, and 
order 
   all execute their Cancel methods and restore their resources.
   
   All Confirm and Cancel methods must be idempotent.
   
   ## Deliverables
   
   - Five runnable Go services + one initiator service
   - docker-compose with MySQL and Seata server
   - README explaining the TCC lifecycle for this scenario and how to run


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to