Hi Patrik,

Thanks for your reply! I think I'll go with implementing the dynamic 
solution for my project: we're fine with causal eventual consistency, and 
we think being available during intra-DC netsplits will be beneficial. 
Another reason I didn't mention is that we need a particular schema for our 
storage. As far as I understand, there's no way currently to have a custom 
schema for the Cassandra event journal in multi-DC Akka Persistence, right?

Thanks
Igor

On Thursday, February 1, 2018 at 7:09:31 PM UTC+3, Patrik Nordwall wrote:
>
> Hi Igor,
>
> There are several reasons, such as:
>
>    - we believe that it's useful to have the strong consistency with 
>    single-writer within one DC, and "only" have the asynchronous replication 
>    between DCs
>    - failures and partitions within one DC can be handled by SBR, fits 
>    the model of Akka Multi-DC Clustering where each DC is autonomous
>    - easier to implement, and therefore faster to market, we could 
>    perhaps add dynamic later if requested
>    - number of DCs are typically static if it's used for availability 
>    zones or regions
>    - note that our DC concept is only a logical grouping of nodes, so it 
>    doesn't have to be physical DC
>    - performance and storage costs increase with number of replicas (DCs) 
>    so we recommend keeping it rather low anyway
>    - we could build on top of existing infrastructure, Akka Persistence, 
>    and the Cassandra plugin
>
>
> On Thu, Feb 1, 2018 at 2:01 PM, Igor Baltiyskiy <ios...@gmail.com 
> <javascript:>> wrote:
>
>> Hello Patrik,
>>
>> excellent news!
>>
>> May I ask why you chose to have static topology over dynamic one? With 
>> the latter one, I mean lifting the "only one writer" requirement locally as 
>> well, thus enabling always-available operation --- even during netsplit, 
>> where you could have multiple writers. CRDT-wise, this is the same, the 
>> difference is that replicas may appear and disappear at any time. I 
>> understand that this is more work than supporting only the static topology 
>> (with replica scope (DC) predefined), but seemingly not super-much, and it 
>> would cover the static case too. 
>>
>> Is it because you feel that keeping one-writer-per-DC + using split brain 
>> resolver is the right thing to do? Or is it because you considered the cost 
>> of this solution to be prohibitively high? I'm asking because I was 
>> considering implementing a similar thing (causal reliable broadcast over 
>> Cassandra) with dynamic topology to handle the intra-DC netsplit scenario, 
>> so I'd be glad to hear your thoughts.
>>
>> Thanks
>> Igor
>>
>>
>> On Thursday, January 18, 2018 at 6:47:03 PM UTC+3, Patrik Nordwall wrote:
>>>
>>> Several exciting capabilities for multiple data centers have recently 
>>> been added to Akka. That includes Multi-DC Clustering 
>>> <https://doc.akka.io/docs/akka/current/cluster-dc.html> that was added 
>>> in Akka a few months ago. Now we are thrilled to announce that Akka 
>>> Multi-DC Persistence has also been released. It's a commercial feature 
>>> available to Lightbend subscribers 
>>> <https://www.lightbend.com/subscription>.
>>>
>>> The screencast <https://www.youtube.com/watch?v=wJnSmv3dFec> and blog 
>>> post <https://developer.lightbend.com/blog/2018-01-17-akka-multidc/> should 
>>> give you a good overview of the feature, and more details can be found in 
>>> the documentation 
>>> <https://developer.lightbend.com/docs/akka-commercial-addons/current/persistence-dc/>
>>> .
>>>
>>> -- 
>>>
>>> Patrik Nordwall
>>> Akka Tech Lead
>>> Lightbend <http://www.lightbend.com/> -  Reactive apps on the JVM
>>> Twitter: @patriknw
>>>
>>> -- 
>> >>>>>>>>>> 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 <javascript:>.
>> To post to this group, send email to akka...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
>
> Patrik Nordwall
> Akka Tech Lead
> Lightbend <http://www.lightbend.com/> -  Reactive apps on the JVM
> Twitter: @patriknw
>
>

-- 
>>>>>>>>>>      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.

Reply via email to