Pure dry Goods do not wordy:
It is often cumbersome to ensure transactional consistency after a service split, and we can easily implement it with the help of MQ:
Example: After the user under the single success, notify payment system, payment system will pay the result notice to the order system, which can not fail in the middle, if the failure of rollback. How to achieve it.
After the user orders, the message to the MQ,MQ payment system to accept the MQ order message, if the acceptance of failure, MQ will initiate a retry until the payment system successfully accepted, if the payment system to accept the success, the payment results should be pushed to MQ, the order system accept payment results message for follow-up processing. If the payment failed message on the basis of its own business logic, modify the order status or delete the order, if successful can be shipped.
In fact, it is very simple, using MQ can result in order synchronization performance problems, but also solve the transaction problem.