Hi Dario,
On 24.01.14 14:51, Dario Rexin wrote:
Hi *,
I know that some time ago there have been plans to create a dynamo
store like system on akka to support actor state replication. This
will now be delivered with the eventsourced merge. I still find the
idea of building a distributed data store on akka very interesting. As
far as I know in akka-persistence, we only have the sequenceNr. per
channel.
It is per processor.
Which means that there is only a guaranteed order for events that come
from a specific channel. For building an eventual consistent store
where any node accepts writes, we would however need a little more
than that, namely vector clocks. Are there still plans to integrate
something like this into akka? Or would it be possible to make the
VectorClock implementation of akka accessible from user code, so that
something like this could be built on top? Or did I maybe overlook
something and akka-persistence already includes something like this?
Writing to processors with the same processor id on different nodes is
currently not supported by akka-persistence i.e. a processor must be a
cluster singleton. You can replicate processor state by using views
<http://doc.akka.io/docs/akka/snapshot/scala/persistence.html#views>,
but these are read-only replicas. Of course, processors with different
processor ids are writable on different nodes but these are independent
entities for akka-persistence.
Writing to the same processor id on different nodes could be approached
using vector clocks and conflict detection, for example, but I
personally find using CRDTs for processor state a more compelling
approach. You may want to take a look at Jonas' great work-in-progress
on Akka CRDT <https://github.com/jboner/akka-crdt>. It is not based on
akka-persistence but usage of CRDTs in processors (to support multi-node
writes to the same processor id) could be an interesting extension to
akka-persistence in 2.4.
Thoughts?
Regards,
Dario
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://akka.io/faq/
>>>>>>>>>> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.
--
Martin Krasser
blog: http://krasserm.blogspot.com
code: http://github.com/krasserm
twitter: http://twitter.com/mrt1nz
--
Read the docs: http://akka.io/docs/
Check the FAQ: http://akka.io/faq/
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.