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

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