A distributed messaging platform focused on simplicity. Our goal is to create a programming model that is almost identical to a centralized application yet can automatically be distributed and optimized. Beehive comes with built-in support for transactions, replication, fault-tolerance, runtime instrumentation, and optimized placement.
Beehive is:
- Transactional: Message handlers are either ran successfully, or otherwise won't have any side effects.
- Replicated: State of each application is replicated using a distributed consensus mechanism.
- Fault Tolerant: When a machine fails, its workload will be handed off to other machines in the cluster.
- Instrumented: You can see how your applications interact and how they exchange messages.
- Optimized: Beehive is able to adjust the placement of applications in the cluster to optimize their performance.
Prerequisite you need to install go (preferably version 1.2+) and set up your GOPATH.
To install Beehive, run:
# go get github.com/kandoo/beehive
To test your setup, enter Beehive's root directory and run:
# go test -v
Google group: https://groups.google.com/forum/#!forum/beehive-dev
Please report bugs in github, not in the group.
Soheil Hassas Yeganeh, Yashar Ganjali, Beehive: Towards a Simple Abstraction for Scalable Software-Defined Networking, HotNets XIII, 2014.