Replicating and Load Balancing Go Applications in Docker Containers with Consul and Fabio

This page summarizes the projects mentioned and recommended in the original post on /r/golang

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. golangconsuldiscovery

    Replicating and Load Balancing Go Applications in Docker Containers with Consul and Fabio. More details in my article on Better Programming:

    Working demo in the repository: https://github.com/mwiater/golangconsuldiscovery

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. consul

    Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

    After some research and testing, I landed on using Consul and Fabio as the demo infrastructure. Of course, there is a myriad of other options to accomplish this task, but because of the low configuration and ease of use, I was impressed with this pairing. Both projects are mature and well-supported, and very flexible--just because you can run them with low configuration, doesn't mean you have to. I wanted to keep this demo constrained, but the exercise did get me excited about exploring things further: circuit breakers, traffic splitting, and more complex service meshes.

  4. fabio

    Consul Load-Balancing made simple

    After some research and testing, I landed on using Consul and Fabio as the demo infrastructure. Of course, there is a myriad of other options to accomplish this task, but because of the low configuration and ease of use, I was impressed with this pairing. Both projects are mature and well-supported, and very flexible--just because you can run them with low configuration, doesn't mean you have to. I wanted to keep this demo constrained, but the exercise did get me excited about exploring things further: circuit breakers, traffic splitting, and more complex service meshes.

  5. traefik

    The Cloud Native Application Proxy

    Glad it was helpful! I had never heard of it before either, but it looks like it's been around since 2015. I've leaned on Traefik a lot in the past, but Fabio seemed to be a lot simpler. Simplicity was the rule of thumb for this exercise, So I didn't dig too hard for performance comparisons...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Go and plugins ?

    4 projects | /r/golang | 18 Jun 2022
  • What are some good open source project to read when learning Go?

    19 projects | /r/golang | 31 Mar 2022
  • Basic Traefik configuration tutorial

    4 projects | dev.to | 12 Feb 2022
  • HashiCorp Consul: What's the catch?

    5 projects | /r/devops | 4 Sep 2021
  • Using testcontainers to improve performance in integration tests

    2 projects | dev.to | 21 May 2025

Did you know that Go is
the 4th most popular programming language
based on number of references?