You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicecomb.apache.org by Sean Yin <se...@gmail.com> on 2017/12/23 08:05:26 UTC

Re: Saga architecture proposal

Dear all,

I propose a modified saga architecture, which is more user friendly.

The detailed design is at the following link:
https://issues.apache.org/jira/secure/attachment/12903492/pack.pdf

Any comment is welcome!

Best Regards,
Sean

Re: Saga architecture proposal

Posted by bismy <bi...@qq.com>.
I got some user case to share
* in one transaction,user may have several interactivies.e.g when buying tickit,there is a reserve process,and will wait user to pay,if user not payed for several minutes,it’ll be canceled. 
* this architecture is as well can be used whit TCC transactions. I think we can add more considerations to make it work for different kind of protocols 

------------------ Original ------------------
From: Sean Yin <se...@gmail.com>
Date: 周一,12月 25,2017 9:42 上午
To: dev <de...@servicecomb.apache.org>
Subject: Re: Saga architecture proposal



Hi Willem,

Alpha is responsible for keeping track of all transaction states in a
global transaction and sending compensation callback command on failure.
Omega is responsible for updating Alpha of local transaction states and
handling of compensation callback command from Alpha.

Saga start and end events are not explicitly needed right now. We can
provide such annotations in the future.

Best Regards,
Sean

On Sat, Dec 23, 2017 at 4:22 PM, Willem Jiang <wi...@gmail.com>
wrote:

> Hi Sean,
>
> After a quick look for the pack design document, I have some question about
> the Alpha part.
> In the second page, I saw the database on the Alpha side, but AFAIK Omega
> should take charge of the local transaction.
> it could be good if you have some brief introduction of the whole core
> respoisibilities of the Alpha, Omega.
>
> It looks like the Alpha is a Saga engine, it can keep track all the
> transaction, but I did see the saga start, sage end event in the third
> page.
>
>
> BTW, I really like the idea of pack :)
>
>
>
> Willem Jiang
>
> Blog: http://willemjiang.blogspot.com (English)
>           http://jnn.iteye.com  (Chinese)
> Twitter: willemjiang
> Weibo: 姜宁willem
>
> On Sat, Dec 23, 2017 at 4:05 PM, Sean Yin <se...@gmail.com> wrote:
>
> > Dear all,
> >
> > I propose a modified saga architecture, which is more user friendly.
> >
> > The detailed design is at the following link:
> > https://issues.apache.org/jira/secure/attachment/12903492/pack.pdf
> >
> > Any comment is welcome!
> >
> > Best Regards,
> > Sean
> >
>

Re: Saga architecture proposal

Posted by Sean Yin <se...@gmail.com>.
Hi Willem,

Alpha is responsible for keeping track of all transaction states in a
global transaction and sending compensation callback command on failure.
Omega is responsible for updating Alpha of local transaction states and
handling of compensation callback command from Alpha.

Saga start and end events are not explicitly needed right now. We can
provide such annotations in the future.

Best Regards,
Sean

On Sat, Dec 23, 2017 at 4:22 PM, Willem Jiang <wi...@gmail.com>
wrote:

> Hi Sean,
>
> After a quick look for the pack design document, I have some question about
> the Alpha part.
> In the second page, I saw the database on the Alpha side, but AFAIK Omega
> should take charge of the local transaction.
> it could be good if you have some brief introduction of the whole core
> respoisibilities of the Alpha, Omega.
>
> It looks like the Alpha is a Saga engine, it can keep track all the
> transaction, but I did see the saga start, sage end event in the third
> page.
>
>
> BTW, I really like the idea of pack :)
>
>
>
> Willem Jiang
>
> Blog: http://willemjiang.blogspot.com (English)
>           http://jnn.iteye.com  (Chinese)
> Twitter: willemjiang
> Weibo: 姜宁willem
>
> On Sat, Dec 23, 2017 at 4:05 PM, Sean Yin <se...@gmail.com> wrote:
>
> > Dear all,
> >
> > I propose a modified saga architecture, which is more user friendly.
> >
> > The detailed design is at the following link:
> > https://issues.apache.org/jira/secure/attachment/12903492/pack.pdf
> >
> > Any comment is welcome!
> >
> > Best Regards,
> > Sean
> >
>

Re: Saga architecture proposal

Posted by Willem Jiang <wi...@gmail.com>.
Hi Sean,

After a quick look for the pack design document, I have some question about
the Alpha part.
In the second page, I saw the database on the Alpha side, but AFAIK Omega
should take charge of the local transaction.
it could be good if you have some brief introduction of the whole core
respoisibilities of the Alpha, Omega.

It looks like the Alpha is a Saga engine, it can keep track all the
transaction, but I did see the saga start, sage end event in the third
page.


BTW, I really like the idea of pack :)



Willem Jiang

Blog: http://willemjiang.blogspot.com (English)
          http://jnn.iteye.com  (Chinese)
Twitter: willemjiang
Weibo: 姜宁willem

On Sat, Dec 23, 2017 at 4:05 PM, Sean Yin <se...@gmail.com> wrote:

> Dear all,
>
> I propose a modified saga architecture, which is more user friendly.
>
> The detailed design is at the following link:
> https://issues.apache.org/jira/secure/attachment/12903492/pack.pdf
>
> Any comment is welcome!
>
> Best Regards,
> Sean
>