ktoso / akka-raft

A toy project implementing RAFT on top of Akka Cluster (not prod ready)
http://blog.project13.pl
Apache License 2.0
280 stars 42 forks source link

Use akka-persistence in order to persist log #7

Open ktoso opened 10 years ago

ktoso commented 10 years ago

The replicatedLog could be persisted using akka-persitence.

ktoso commented 10 years ago

Note to self - seems like state machine snapshots can be up to a few gigs -- source raft-dev mailing list

moizr commented 10 years ago

ktoso - did you drop the plan to use akka-persistence for persisting the replicated log? If so what other alternatives are you considering?

ktoso commented 10 years ago

Why would I have dropped it? :-)

We have just released a large update to persistence in 2.3.4, and it's shaping up great: http://akka.io/news/2014/06/30/akka-2.3.4-released.html

I have not yet given this deeper thoughts - for example raft may require large log rewrites etc, but persistence is still definitely on the radar for this project - we'll see if it ends up using it or not (probably yes). Or I'll prepare a simple way to mix in PersistentActor in order to achieve what one would usually need here.

// For example we don't really need replays from the journal - the raft-cluster can take care of this etc. Many questions are still open :-)

moizr commented 10 years ago

Ok - that's great! Actually I'm looking to implement a replicated state machine in another open source project (http://www.opendaylight.org/) using akka. akka-raft seems to be a good fit for it. Just started looking at it and wanted to understand what needs to be done to make it close to production ready. Guidance appreciated.