[akka-user] Akka Pattern for a Transactional system with multi-hop requests.

2016-07-16 Thread Love Hasija
Hi,

I am working on solving a problem where there is a business service that is 
using HBase as a data layer and we are building secondary indexes on the 
HBase. As you can imagine, a single business service request spawns 
multiple request to the DB layer within a single logical transaction 
boundaries.

Each request to the DB Layer may contain certain state, like the 
acknowledgment of the Index update/save request followed by the update of 
the record/entity in hand.

Since, the DB calls are all asynchronous, I don't see a need to create a 
pool of worker(db clients) for the request/response cycle with the the 
database. Although, I am confused for the right pattern to use.

1) Is Akka at all required or should futures be enough (I feel like each 
request to database may have certain state that comes back, so it would be 
better to use Akka then only futures).
2) Should a parent child hierarchy, parent acting as 
manager/aggregator/collaborator and child acting as the client to the 
database looks good. If yes, how do we make sure an actor instance is 
spawned per request for the master and the worker actor.

Sorry, for the long question as I am a newbie to the Actor System.

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Akka Pattern for a Transactional system with multi-hop requests.

2016-07-16 Thread Dragisa Krsmanovic
Looks like that you are trying to do distributed transactions.

I'd recommend you look into Saga pattern.

For example, see here
http://kellabyte.com/2012/05/30/clarifying-the-saga-pattern/ and here
https://speakerdeck.com/caitiem20/applying-the-saga-pattern

On Sat, Jul 16, 2016 at 9:25 AM Love Hasija  wrote:

> Hi,
>
> I am working on solving a problem where there is a business service that
> is using HBase as a data layer and we are building secondary indexes on the
> HBase. As you can imagine, a single business service request spawns
> multiple request to the DB layer within a single logical transaction
> boundaries.
>
> Each request to the DB Layer may contain certain state, like the
> acknowledgment of the Index update/save request followed by the update of
> the record/entity in hand.
>
> Since, the DB calls are all asynchronous, I don't see a need to create a
> pool of worker(db clients) for the request/response cycle with the the
> database. Although, I am confused for the right pattern to use.
>
> 1) Is Akka at all required or should futures be enough (I feel like each
> request to database may have certain state that comes back, so it would be
> better to use Akka then only futures).
> 2) Should a parent child hierarchy, parent acting as
> manager/aggregator/collaborator and child acting as the client to the
> database looks good. If yes, how do we make sure an actor instance is
> spawned per request for the master and the worker actor.
>
> Sorry, for the long question as I am a newbie to the Actor System.
>
> --
> >> Read the docs: http://akka.io/docs/
> >> Check the FAQ:
> http://doc.akka.io/docs/akka/current/additional/faq.html
> >> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Akka Pattern for a Transactional system with multi-hop requests.

2016-07-16 Thread Love Hasija
Appreciate your help.

This looks great. Would you be able to point me to any possible 
implementation on Akka. I am wondering what would be the right design for 
an Akka implementation in terms of Master/Worker etc.

On Saturday, 16 July 2016 23:37:01 UTC+5:30, Dragisa Krsmanovic wrote:
>
> Looks like that you are trying to do distributed transactions. 
>
> I'd recommend you look into Saga pattern. 
>
> For example, see here 
> http://kellabyte.com/2012/05/30/clarifying-the-saga-pattern/ and here 
> https://speakerdeck.com/caitiem20/applying-the-saga-pattern
>
> On Sat, Jul 16, 2016 at 9:25 AM Love Hasija  > wrote:
>
>> Hi,
>>
>> I am working on solving a problem where there is a business service that 
>> is using HBase as a data layer and we are building secondary indexes on the 
>> HBase. As you can imagine, a single business service request spawns 
>> multiple request to the DB layer within a single logical transaction 
>> boundaries.
>>
>> Each request to the DB Layer may contain certain state, like the 
>> acknowledgment of the Index update/save request followed by the update of 
>> the record/entity in hand.
>>
>> Since, the DB calls are all asynchronous, I don't see a need to create a 
>> pool of worker(db clients) for the request/response cycle with the the 
>> database. Although, I am confused for the right pattern to use.
>>
>> 1) Is Akka at all required or should futures be enough (I feel like each 
>> request to database may have certain state that comes back, so it would be 
>> better to use Akka then only futures).
>> 2) Should a parent child hierarchy, parent acting as 
>> manager/aggregator/collaborator and child acting as the client to the 
>> database looks good. If yes, how do we make sure an actor instance is 
>> spawned per request for the master and the worker actor.
>>
>> Sorry, for the long question as I am a newbie to the Actor System.
>>
>> -- 
>> >> Read the docs: http://akka.io/docs/
>> >> Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >> Search the archives: https://groups.google.com/group/akka-user
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to akka-user+...@googlegroups.com .
>> To post to this group, send email to akka...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.


Re: [akka-user] Akka Pattern for a Transactional system with multi-hop requests.

2016-07-16 Thread Stephen McDonald
CurioDB implements distributed transactions wit Akka using 2PC and MVCC:

https://github.com/stephenmcd/curiodb#transactions

On Sunday, 17 July 2016 06:19:14 UTC+10, Love Hasija wrote:
>
> Appreciate your help.
>
> This looks great. Would you be able to point me to any possible 
> implementation on Akka. I am wondering what would be the right design for 
> an Akka implementation in terms of Master/Worker etc.
>
> On Saturday, 16 July 2016 23:37:01 UTC+5:30, Dragisa Krsmanovic wrote:
>>
>> Looks like that you are trying to do distributed transactions. 
>>
>> I'd recommend you look into Saga pattern. 
>>
>> For example, see here 
>> http://kellabyte.com/2012/05/30/clarifying-the-saga-pattern/ and here 
>> https://speakerdeck.com/caitiem20/applying-the-saga-pattern
>>
>> On Sat, Jul 16, 2016 at 9:25 AM Love Hasija  wrote:
>>
>>> Hi,
>>>
>>> I am working on solving a problem where there is a business service that 
>>> is using HBase as a data layer and we are building secondary indexes on the 
>>> HBase. As you can imagine, a single business service request spawns 
>>> multiple request to the DB layer within a single logical transaction 
>>> boundaries.
>>>
>>> Each request to the DB Layer may contain certain state, like the 
>>> acknowledgment of the Index update/save request followed by the update of 
>>> the record/entity in hand.
>>>
>>> Since, the DB calls are all asynchronous, I don't see a need to create a 
>>> pool of worker(db clients) for the request/response cycle with the the 
>>> database. Although, I am confused for the right pattern to use.
>>>
>>> 1) Is Akka at all required or should futures be enough (I feel like each 
>>> request to database may have certain state that comes back, so it would be 
>>> better to use Akka then only futures).
>>> 2) Should a parent child hierarchy, parent acting as 
>>> manager/aggregator/collaborator and child acting as the client to the 
>>> database looks good. If yes, how do we make sure an actor instance is 
>>> spawned per request for the master and the worker actor.
>>>
>>> Sorry, for the long question as I am a newbie to the Actor System.
>>>
>>> -- 
>>> >> Read the docs: http://akka.io/docs/
>>> >> Check the FAQ: 
>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>> >> Search the archives: 
>>> https://groups.google.com/group/akka-user
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Akka User List" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to akka-user+...@googlegroups.com.
>>> To post to this group, send email to akka...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/akka-user.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>

-- 
>>  Read the docs: http://akka.io/docs/
>>  Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>  Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.