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 > _______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com