<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[gobetween - modern &amp; minimalistic load balancer and reverse-proxy for the ☁️ Cloud era.]]></title><description><![CDATA[<p dir="auto"><a href="https://github.com/yyyar/gobetween" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/yyyar/gobetween</a></p>
<p dir="auto">Current status: Under active development. Currently in use in several highly loaded production environments.</p>
<p dir="auto">Written in Go and some interesting features, like health checks and more.</p>
<pre><code>Fast L4 Load Balancing
    TCP - with optional The PROXY Protocol support
    TLS - TLS Termination + ACME &amp; TLS Proxy
    UDP - with optional virtual sessions and transparent mode

Clear &amp; 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 &amp; delete
    Stats &amp; Metrics - for servers and backends including rx/tx, status, active connections &amp; 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 &amp; 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
</code></pre>
]]></description><link>https://forum.cloudron.io/topic/4245/gobetween-modern-minimalistic-load-balancer-and-reverse-proxy-for-the-cloud-era</link><generator>RSS for Node</generator><lastBuildDate>Sun, 12 Apr 2026 12:47:00 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/4245.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Jan 2021 02:34:29 GMT</pubDate><ttl>60</ttl></channel></rss>