myriad

package module
v0.0.0-...-62b3d66 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2017 License: MIT Imports: 13 Imported by: 0

README

myriad

At very early stages, not ready to be used yet.

myriad is a library to aid in the creation of distributed systems with consensus and membership. The goal is to produce an easy to use package that will help develop distributed applications that are autonomous by maintaining nodes that fulfill the requirements for fault-tolerant consensus and then only maintain membership for subsequent nodes that join the cluster. In practice, I am hoping that keeping the raft cluster very small will keep re-election times relatively low, while allowing the same application to continue to scale-out and have access to all benefits provided by a consensus-based key/value store (via raft backed by badger) but not require it to be separately maintained from the application.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Debug bool

	Dir string

	Addr string

	ID string

	RetainSnapshotCount int

	EnableSingle bool

	RaftTimeout time.Duration

	InitialPeers []string

	Logger *jolt.Logger
}

type Node

type Node struct {
	*gossip.Gossip

	*raft.Raft

	*rpc.Server
	// contains filtered or unexported fields
}

func New

func New(c *Config) (*Node, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL