All Projects → 1xyz → coolbeans

1xyz / coolbeans

Licence: MPL-2.0 license
Coolbeans is a distributed work queue that implements the beanstalkd protocol.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to coolbeans

Nuraft
C++ implementation of Raft core logic as a replication library
Stars: ✭ 428 (+664.29%)
Mutual labels:  distributed-systems, raft, consensus
Verdi Raft
An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
Stars: ✭ 143 (+155.36%)
Mutual labels:  distributed-systems, raft, consensus
Raft
Raft Consensus Algorithm
Stars: ✭ 370 (+560.71%)
Mutual labels:  distributed-systems, raft, consensus
Dragonboat
Dragonboat is a high performance multi-group Raft consensus library in pure Go.
Stars: ✭ 3,983 (+7012.5%)
Mutual labels:  distributed-systems, raft, consensus
raftor
Distributed chat system built with rust
Stars: ✭ 31 (-44.64%)
Mutual labels:  distributed-systems, raft, consensus
Atomix
A reactive Java framework for building fault-tolerant distributed systems
Stars: ✭ 2,182 (+3796.43%)
Mutual labels:  distributed-systems, raft, consensus
Copycat
A novel implementation of the Raft consensus algorithm
Stars: ✭ 551 (+883.93%)
Mutual labels:  distributed-systems, raft, consensus
Hraftd
A reference use of Hashicorp's Raft implementation
Stars: ✭ 732 (+1207.14%)
Mutual labels:  distributed-systems, raft, consensus
little-raft
The lightest distributed consensus library. Run your own replicated state machine! ❤️
Stars: ✭ 316 (+464.29%)
Mutual labels:  distributed-systems, raft, consensus
Rqlite
The lightweight, distributed relational database built on SQLite
Stars: ✭ 9,147 (+16233.93%)
Mutual labels:  distributed-systems, raft, consensus
Bifrost
Pure rust building block for distributed systems
Stars: ✭ 118 (+110.71%)
Mutual labels:  distributed-systems, raft, consensus
Etcd
Distributed reliable key-value store for the most critical data of a distributed system
Stars: ✭ 38,238 (+68182.14%)
Mutual labels:  distributed-systems, raft, consensus
Zatt
Python implementation of the Raft algorithm for distributed consensus
Stars: ✭ 119 (+112.5%)
Mutual labels:  distributed-systems, raft, consensus
6.824 2017
⚡️ 6.824: Distributed Systems (Spring 2017). A course which present abstractions and implementation techniques for engineering distributed systems.
Stars: ✭ 219 (+291.07%)
Mutual labels:  distributed-systems, raft
Awesome Substrate
A curated list of awesome projects and resources related to the Substrate blockchain development framework.
Stars: ✭ 228 (+307.14%)
Mutual labels:  distributed-systems, consensus
openraft
rust raft with improvements
Stars: ✭ 826 (+1375%)
Mutual labels:  raft, consensus
Mit 6.824 2018
Solutions to mit 6.824 2018
Stars: ✭ 158 (+182.14%)
Mutual labels:  distributed-systems, raft
raft-badger
Badger-based backend for Hashicorp's raft package
Stars: ✭ 27 (-51.79%)
Mutual labels:  raft, consensus
beanstalk
Asynchronous Beanstalk Client for PHP.
Stars: ✭ 62 (+10.71%)
Mutual labels:  queue, beanstalkd
nebula
A distributed, fast open-source graph database featuring horizontal scalability and high availability
Stars: ✭ 8,196 (+14535.71%)
Mutual labels:  distributed-systems, raft

Build Release Docker Go Report Card

Coolbeans

Coolbeans is a distributed replicated work queue service that implements the beanstalkd protocol.

Unlike a message queue, beanstalkd is a work queue that provides primitive operations to work with jobs.

Coolbeans primarily differs from beanstalkd in that it allows the work queue to be replicated across multiple machines. It uses the RAFT consensus algorithm to replicate the job state consistently across machines.

Motivation

Beanstalkd is a feature-rich and easy to use queue. Beanstalkd, however has a few drawbacks that include: (i) A lack of replication or high availability in terms of machine failures. (ii) There is no native sharding, (iii) No native support for encryption & authentication between the service & the client.

Given the initial setup of beanstalkd is simple, having a HA or sharded production setup is non-trivial. Our premise with Coolbeans is to provide a replicated beanstalkd queue followed by addressing the other issues incrementally. Read about our design approach here.

Key features

Releases

  • Static binary can be downloaded from the release pages.
  • Docker release images can be pulled from here.
  • Docker development images can be pulled from here.

Getting Started

How to contribute

Coolbeans is currently at alpha release quality. It is all about improving the quality of this by testing, testing & more testing.

Here are a few ways you can contribute:


icon by Llisole from the Noun Project

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].