Hi, all

currently, we have integrated with saga using graph based engine in 
shardingsphere[1]
it need us to collect all participated actual SQL, then submit to saga actuator 
in commit/rollback phase.
if application crashed before invoking saga actuator, undo log of branch 
transaction SQL will not be saved, 
so recovery thread will not be executed correctly.

it's better that encapsulating every actual SQL as a saga task in 
shardingsphere side, 
then submit to saga actuator realtime instead of batch processing all the SQLs 
at commit/rollback phase. 
this architecture will make the boundary more clear between shardingsphre and 
saga, currently we have done some additional works for integrating saga.

any thought?

[1]:https://github.com/sharding-sphere/shardingsphere-spi-impl/tree/master/sharding-transaction-spi-impl/sharding-transaction-base-spi-impl/sharding-transaction-base-saga
 
<https://github.com/sharding-sphere/shardingsphere-spi-impl/tree/master/sharding-transaction-spi-impl/sharding-transaction-base-spi-impl/sharding-transaction-base-saga>



------------------
Zhao Jun
Apache Sharding-Sphere & ServiceComb

Reply via email to