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

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • 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

  • 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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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.

  • 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