gobetween

Modern & minimalistic load balancer for the Сloud era

View project on GitHub

gobetween - modern & minimalistic load balancer for the ☁️ Cloud era.

Features

  • TCP Load Balancing

  • Clear and beautiful TOML config file.

  • Integrates seamlessly with Docker and with any custom system (thanks to Exec discovery and healthchecks)

  • Single binary distribution (only one gobetween binary + TOML config file)

  • Discovery

    • Static - hardcode backends in config file
    • Docker - query backends from Docker / Swarm API filtered by label
    • Exec - execte arbitrary program and read backends from it's output
    • JSON - make http query and parse backends from response json
    • Plaintext - make http query and parse backends from response text with regexps
    • SRV - query SRV server for a backends
  • Healthchecks

    • Ping - simple TCP ping healtcheck
    • Exec - execute external program passing host & port, and read healtcheck status from the stdout
  • Balancing

    • Iphash
    • Leastconn
    • Roundrobin
    • Weight

For more info checkout https://github.com/yyyar/gobetween