Hi,

It should be great to integrate with the Sharding-Sphere and the
ServiceComb Saga. I just wonder why it is a proposal to the *old* saga api
design ? I think we could consider the current Omega and the Alpha
implementation which used the Java annotations. Maybe you do not want to
use the spring-boot framework ?

Thanks,
Amos Feng

2018-07-02 21:51 GMT+08:00 张永伦 <15810310...@163.com>:

> Hi all,
>
>
> I'm a developer from Sharding-Sphere(https://github.com/sharding-sphere).
> I'd like to make a proposal on integrating Sharding-Sphere(SS) with Saga.
>
>
> SS starts a transaction via Saga API(https://github.com/apache/
> incubator-servicecomb-saga/blob/old-saga/docs/api/api.md). The API looks
> like this:
> {
>   "policy": "",
>   "requests": [
>     {
>       "id": "",
>       "type": "",
>       "serviceName": "",
>       "parents": [
>
>       ],
>       "transaction": {
>         "method": "",
>         "path": "",
>         "params": {
>
>         }
>       },
>       "compensation": {
>         "method": "",
>         "path": "",
>         "params": {
>
>         }
>       }
>     }
>   ]
> }
> Logic SQLs in a SS transaction will be treated as one Saga Request
> separately. Users of SS should supply the compensatory SQLs correspondingly:
> transaction:
> INSERT INTO `t_order` (`order_id`, `user_id`, `status`) VALUES (?, '10',
> 'INIT');
> compensation:
> DELETE FROM `t_order` WHERE `order_id`=?;
>
>
> SS need to implement method of both transaction and compensation for Saga.
> The path parameter seems to have no use for SS, and should be ignored.
>
>
> The content of params should include SQL and the parameter of SQL, may
> implement by currently form parameters.
>
>
> At last, id and serviceName will be generated by SS uniquely. Saga can use
> these identifier to find transactions.
>
>
>
>
> Thanks,
> Zhang Yonglun

Reply via email to