Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Navigation

    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

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

    App Wishlist
    1
    1
    36
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robi
      robi last edited by

      https://github.com/yyyar/gobetween

      Current status: Under active development. Currently in use in several highly loaded production environments.

      Written in Go and some interesting features, like health checks and more.

      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
      1 Reply Last reply Reply Quote 1
      • First post
        Last post