The saga-core is in the old-saga branch, is it right ?

2018-07-02 23:26 GMT+08:00 Willem Jiang <willem.ji...@gmail.com>:

> Saga executor can delegate the SQL invocation to Sharding-Sphere.
> Now we just need to pass the parameter to the invocation.
>
>
> Willem Jiang
>
> Twitter: willemjiang
> Weibo: 姜宁willem
>
> On Mon, Jul 2, 2018 at 11:04 PM, Zheng Feng <zh.f...@gmail.com> wrote:
>
> > 2018-07-02 22:49 GMT+08:00 Willem Jiang <willem.ji...@gmail.com>:
> >
> > > Hi Yonglun,
> > >
> > > It's great that Saga can be part of Sharding-Sphere solution.
> > > Current we can update the json data formate to support the parameter of
> > > SQL.
> > > And we just need to implement SQL invocation (transport) in Saga, then
> > you
> > > can just tell Saga executor to do the invocation job for you.
> > >
> > You mean that the executor could run the SQL and access the database
> > directly ?
> >
> > >
> > > I will try to add some sample code to show the whole idea tomorrow.
> > >
> >  Can you put some pseudo codes here and we can discuss please ?
> >
> > >
> > > Willem Jiang
> > >
> > > Twitter: willemjiang
> > > Weibo: 姜宁willem
> > >
> > > On Mon, Jul 2, 2018 at 9:51 PM, 张永伦 <15810310...@163.com> wrote:
> > >
> > > > 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