Riak_ensemble implementation

Agung Laksono agung.laksono at surya.ac.id
Tue Mar 8 21:41:43 EST 2016


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



-- 
Warm Regards,

Agung Laksono
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20160309/8f32b159/attachment-0002.html>


More information about the riak-users mailing list