Riak Ensemble: A Paxos-based Framework for Scalable, Consistent Systems

Joseph Blomstedt
Distributed Systems Enthusiast

This talk covers riak_ensemble: a library for building scalable, consistent distributed systems in Erlang. riak_ensemble provides leader election and paxos-based consensus groups, including support for dynamic cluster membership.
 
To support arbitrary cluster sizes, riak_ensemble is designed to run multiple independent consensus groups. For example, a 10 node cluster might split it's workload across 2 consensus groups while a 50 node cluster uses 10 consensus groups. Since each consensus group is completely independent, the overall throughput scales as the cluster increases in size.  This is in contrast to many other systems that support only a single cluster-wide consensus group that gets slower as more nodes are added.
 
This talk will present the design and architecture of riak_ensemble as well as demonstrate how developers can use riak_ensemble in their applications.
 
Talk objectives:
After this talk, developers should understand the design of riak_ensemble, the problems it solves, and how to use riak_ensemble in their own clustered applications.
 
Target audience:
Erlang/Elixir developers of all skill levels that work on clustered and distributed systems.
Slides
Video

Joseph Blomstedt is a Principal Engineer at Basho and has worked on nearly all aspects of the Riak distributed database since joining in 2011. Most recently, Joe was the lead developer on the riak_ensemble project that provides a paxos-based framework for building scalable, consistent systems in Erlang. Joe happily resides in Seattle, WA and enjoys the city's vibrant and growing Erlang community.

Twitter: @jtuple

Github: jtuple


Back to conference page