Thank you for answering the question. @Sargun: Right now, I'm interested in testing Riak-ensemble with a distributed model checker like SAMC <http://ucare.cs.uchicago.edu/pdf/osdi14-samc.pdf>. In the cluster membership in the documentation, I found steps to activate a cluster, add a node, create an ensemble. However, is there any example to implement those processes?
And one more question: Does Riak-kv implement multi-paxos or paxos-like protocols? Actually, my target is so simple, I just need to be able to put some key-value by executing the multi-paxos. On Tue, Mar 8, 2016 at 11:39 PM, Sargun Dhillon <sar...@sargun.me> wrote: > If you want to learn to use riak_ensemble the library, the > documentation that Joe put together (and others) > https://github.com/basho/riak_ensemble/blob/develop/doc/Readme.md > > There's real world usage of the code here: > -https://github.com/basho/riak_kv/blob/develop/src/riak_kv_ensembles.erl > > Basically as a user, you have to create the root ensemble, add all > your nodes to it, and then create your individual, "sub-ensembles". > > You need to implement a backend, and this is a rough sketch of one: > > https://github.com/basho/riak_ensemble/blob/develop/src/riak_ensemble_basic_backend.erl > > Due the design of Riak ensemble, and the fact that's it's effectively > a bunch of individual vertical Paxos group in conjunction with its > usage of single decree, over multi-decree paxos it has some > interesting fault-recovery semantics. An example of this is the > adjustable paranoia level -- it has some strong failure-recovery > semantics, so in the highest paranoia mode, if you have 5 nodes, and > one fails. When that node comes back, it will have to sync with 3/5 of > the other nodes to be considered good to go. > > Even with this, riak ensemble is a pretty easy, fun library to use. > The fact that it's a composition of single decree paxos groups it > makes it much simpler to understand, and you can implement SMR atop > it, like so: https://github.com/sargun/riak_ensemble/commits/sargun/redis > (see the few extra commits) > > On Tue, Mar 8, 2016 at 8:19 AM, Carlos González Florido > <carlosj...@gmail.com> wrote: > > You may have a look at nkbase[1] that includes riak_ensemble as one of it > > working models. > > > > [1] > > > https://github.com/NetComposer/nkbase/blob/master/doc/strong_consistency.md > > > > Carlos González > > NetComposer > > > > > > On Mon, Mar 7, 2016 at 4:48 AM, Agung Laksono <agung.laks...@surya.ac.id > > > > wrote: > >> > >> Hi Basho developer, > >> > >> I've seen the video that you guys present about rian_ensemble. I am > >> interesting to implement riak_ensemble in the production environment in > the > >> future. After reading the > >> documentation(https://github.com/basho/riak_ensemble/tree/develop/doc), > I > >> still couldn't understand how it's work and implement it. Could you > tell me > >> in a simple way to implement it in the single node to simulate multiple > >> nodes or 3 real nodes? > >> > >> So far, I can compile riak_ensemble via rebar and run > >> application:ensure_all_started(riak_ensemble). But I don't know what > should > >> I do after that(sent K/V, communicate to other nodes, etc) > >> > >> Thank you in advance. > >> > >> -- > >> Warm Regards, > >> > >> Agung Laksono > >> > >> _______________________________________________ > >> riak-users mailing list > >> riak-users@lists.basho.com > >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > >> > > > > _______________________________________________ > > riak-users mailing list > > riak-users@lists.basho.com > > http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > > > -- Warm Regards, Agung Laksono
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com