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]
