Skip to content
/ spike Public

Implementing a packet level software network load balancer

License

Notifications You must be signed in to change notification settings

sipb/spike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2831398 · Jan 10, 2018
Sep 30, 2017
Jan 10, 2018
Jan 10, 2018
Jan 10, 2018
Dec 28, 2017
Nov 26, 2017
Jan 10, 2018
Sep 8, 2017
Aug 15, 2017
Aug 5, 2017
Sep 9, 2017
Sep 9, 2017
Jul 22, 2017
Jan 10, 2018
Dec 28, 2017
Dec 26, 2017

Repository files navigation

Spike: A Software Network Load Balancer

Spike runs on commodity Linux servers and is based on Google's network load balancer, Maglev.

Dependencies

Building

  • Make sure that your go workspace is set up properly, and that the spike repository is in $GOPATH/src/github.com/sipb/spike.
  • Clone and build the snabb repository. (This is unlikely to work on non-Linux operating systems.)
  • Run go get github.com/dchest/siphash github.com/stretchr/testify gopkg.in/yaml.v2.
  • Run make.

It should now be possible to run the health check demo (bin/demo), as well as the snabb integration demo (bin/runspike). runspike should be run as root and requires two environment variables, SNABB set to the path to the snabb executable and SPIKE set to the path to the folder, so you might run something like:

sudo env SNABB=/path/to/snabb SPIKE=/path/to/spike bin/runspike

You can run the tests with make test.

Contributing

Contributing guidelines are here.

Copyright

Spike is available under the MIT License. See the LICENSE file for more details.

maglev was adapted from dgryski/go-maglev, which is used under the terms of the MIT License, and kkdai/maglev, which is used under the terms of the Apache License version 2.0.

About

Implementing a packet level software network load balancer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published