gobetween is a modern and minimalistic L4 load balancer and reverse proxy for the cloud era.
It aims to provide fast, flexible and full-featured load balancing solution for modern microservice architectures.
gobetween is free and open source software.
Features include:
- Fast L4 Load Balancing
- TCP – with optional The PROXY Protocol support.
- TLS – TLS Termination + ACME & TLS Proxy.
- UDP – with optional virtual sessions and transparent mode.
- Clear & Flexible Configuration with TOML or JSON:
- File – read configuration from the file.
- URL – query URL by HTTP and get configuration from the response body.
- Consul – query Consul key-value storage API for configuration.
- Management REST API:
- System Information – general server info.
- Configuration – dump current config.
- Servers – list, create & delete.
- Stats & Metrics – for servers and backends including rx/tx, status, active connections & etc.
- Discovery
- Static – hardcode backends list in the config file.
- Docker – query backends from Docker / Swarm API filtered by label.
- Exec – execute an arbitrary program and get backends from its stdout.
- JSON – query arbitrary http url and pick backends from response json (of any structure).
- Plaintext – query arbitrary http and parse backends from response text with customized regexp.
- SRV – query DNS server and get backends from SRV records.
- Consul – query Consul Services API for backends.
- LXD – query backends from LXD.
- Healthchecks:
- Ping – simple TCP ping healthcheck.
- Exec – execute arbitrary program passing host & port as options, and read healthcheck status from the stdout.
- Probe – send specific bytes to backend (udp, tcp or tls) and expect a correct answer (bytes or regexp).
- Balancing Strategies (with SNI support):
- Weight – select backend from pool based relative weights of backends.
- Roundrobin – simple elect backend from pool in circular order.
- Iphash – route client to the same backend based on client ip hash.
- Iphash1 – same as iphash but backend removal consistent (clients remain connecting to the same backend, even if some other backends down).
- Leastconn – select backend with least active connections.
- Leastbandwidth – backends with least bandwidth.
- Integrates seamlessly with Docker and with any custom system (thanks to Exec discovery and healthchecks).
- Single binary distribution.
Website: gobetween.io
Support: Documentation, GitHub Code Repository
Developer: Ievgen Ponomarenko and contributors
License: Open source
gobetween is written in Go. Learn Go with our recommended free books and free tutorials.
Popular series | |
---|---|
The largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions. | |
Hundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information. | |
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions. | |
Replace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS. | |
Awesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series. | |
Machine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source. | |
New to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux. | |
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities. | |
Essential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users. | |
Linux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine. | |
Surveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal. | |
Saving Money with Linux looks at how you can reduce your energy bills running Linux. | |
Home computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum. | |
Now and Then examines how promising open source software fared over the years. It can be a bumpy ride. | |
Linux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged. | |
Linux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery. | |
Getting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers. | |
Best Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series. | |
These best free books accelerate your learning of every programming language. Learn a new language today! | |
These free tutorials offer the perfect tonic to our free programming books series. | |
Linux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts. | |
Stars and Stripes is an occasional series looking at the impact of Linux in the USA. |