The latest insights from the load balancing experts | Loadbalancer.org
  • Support
  • Blog
  • +1 833 274 2566
  • Solutions
  • Services
  • Products
  • Get Started
  • Support
  • Blog
Schedule your demo

Search our whole site with Google

  • Solutions
  • Services
  • Products
  • Get Started
  • Support
  • Blog

The latest insights from the load balancing experts | Loadbalancer.org

  • Latest posts
  • By topic
    • How Tos
    • Events
    • Guest Blogs
    • Top Ten Blogs
    • HA Proxy
  • By sector
    • Healthcare
    • Storage
    • Security
    • Print
    • Microsoft
  • How-To's
  • Just for Fun
  • High Availability
  • HAProxy
  • Security
  • Linux
  • Events
  • Top 10 Blogs
  • News
  • SSL
  • Amazon AWS
  • Reviews and Comparisons
  • Web Application Firewall (WAF)
  • Disaster Recovery
  • Healthcare
  • Direct Server Return (DSR)
  • Microsoft Azure
  • Microsoft
  • Microsoft Exchange
  • Case Studies
  • Global Server Load Balancing (GSLB)
  • Denial of Service
  • Microsoft Remote Desktop Services
  • Web Filters / Proxy
  • X-Forwarded-For Header (XFF)
  • Guest Blogs
  • Print
  • VMware
  • Broadcast Media
  • Nutanix
  • Google Cloud Platform (GCP)
  • Object Storage
See more tags

A modern Feedback Agent for HAProxy

21 March 2019 / HAProxy

We recently released a completely rewritten version of our Windows Feedback Agent for HAProxy. This blog sets out to explore the issues caused by the previous Feedback Agent, and more importantly why the new Feedback Agent is better.

Where can I get it? (Updated 05/11/2018)

As always the Feedback Agent is open-source under the GPLv2 license and can be found on our Github page here. It is compatible with both HAProxy & LVS therefore it also works with many commercial load balancers.

  • Release 4.5.6 - Download
  • Release 4.5.3 (deprecated) - Download

What is a Feedback Agent?

Normally when you are using a load balancer, you want the connections to be evenly distributed among real servers. This is usually based on the number of connections per server. However, an even distribution of connections won't always determine an evenly balanced workload within the cluster.

What happens when one user is running a large report that uses 100% of your server resources? You need the load balancer to be aware of the actual workload on each server - and take this into account when scheduling new connections.

The Feedback Agent is an easy to install service for Windows Server, with a simple graphical interface:

iu

The Feedback Agent service combines a number of metrics such as CPU and RAM to calculate the availability of resources left on a real server. This is then reported back to the load balancer to determine where the next incoming connection should go.

The default configuration just returns the CPU idle rate. If you're interested in configuring more specific behaviors then please refer to the original blog post about the Feedback Agent.

Out with the old

The previous Feedback Agent was written in C# with the .NET framework. C# is an overall solid language, however, the problem lies with everything that comes with it - like Visual Studio, .NET and MONO. Perhaps this is a biased point of view, but we knew after attempting to update our project's version of .NET that it was time for a refresh.

The .NET copy used the Windows Management Instrumentation (WMI) to gather the system resources required in order to calculate a report on available resources. However, the original implementation ended up being really slow and cumbersome on newer systems, as the processes gathering data via WMI became temperamental for some customers.

In with the new

Golang is a fantastic language for a number of reasons. It is a compiled language so is inherently already quicker than its previous counterpart. Furthermore, support for cross-compiling allows us to re-use the same project to build for other platforms such as Linux in the future. Lastly, Golang sets out to be easy to both read and write, which will make maintaining the project simpler for us. For more information on Golang please visit https://golang.org/.

iu

It was important for us to know that our customers could take what they already know about our previous Feedback Agent and apply that to our new iteration. This included keeping the XML-based configuration file and the .NET graphical interface. However, that meant .NET framework would still be a requirement with this new release.

For the record, our new Feedback continues to use WMI but without having to go through .NET to process the information. This, so far, has improved calculation speeds significantly.

It is also worth mentioning that our new Feedback Agent has a new minor feature that allows you to specify the listening port.

Our GO Feedback Agent is open-source under the GPLv2 license and can be found on Github here.

What's next?

You can expect updates and improvements with time. Here are a few improvements that we may do next:

  • Replace the GUI with a GO replacement, removing the need for .NET entirely
  • Update our project so that it is also compatible with Linux
  • Integrate further metrics such as drive I/O

If you would like to know more about the above or have any questions, just ping an email to info@loadbalancer.org.

Found in

HAProxy, News

About the author

Andrew Zak

Andrew is a Portsmouth University graduate in Computer Science with a passion for technology. Originally from Brussels, Belgium Andrew has lived in France, Switzerland, the Netherlands, the United Kingdom, and the United States. He maintains a proficiency in Spanish and an understanding of Portuguese. In his free time, Andrew enjoys travelling, working on his side projects, cycling and skiing.

Read More

Related posts

HAProxy
HAProxy
5 Feb 2019
How to write an external health check script for HAProxy Andrew Smalley
There's a saying you've probably heard: "Give a man a fish, and you feed him for a day. Teach a man to fish, and you feed him for a lifetime." Health checks are
Read more
HAProxy
HAProxy
8 Jan 2019
New year, new vulnerability: HAProxy critical security update Annu Sroa
The Christmas tree is still up, you’ve barely swept away the used party poppers and champagne corks from your New Year celebrations - and already, there’s a new security issue to be aware
Read more
How-To's
How-To's
7 May 2019
How do I secure my load balancer with Active Directory, LDAP or RADIUS? Neil Hosking
I’ve noticed a lot more of our customers are asking to use their Active Directory login details with the load balancer appliance. And it can get a bit fiddly, so I wanted to write
Read more

Get started

Get in touch

Start a conversation about the right solution for your business.

Get in touch

Create your quote

Transparent pricing you can see straight away.

Create your quote

Download now

Try us free for 30 days – see why our customers love us.

Download now

See possibilities at RSNA 2019

December 1-6, 2019. at McCormick Place in Chicago, IL

Let's meet up

Follow Loadbalancer.org

+1 833 274 2566
  • Company
    • Solutions
    • Services
    • Load balancer
    • Why Loadbalancer.org
    • Blog
    • Professional services
    • Sitemap
  • Load balancer
    • Get a quote
    • Free trial
    • Online demo
  • Resources
    • Manuals
    • Deployment guides
    • Applications
    • Case studies
    • Solutions
  • Support
    • FAQ's
  • Applications
    • Healthcare
    • Storage
    • Print
    • Security
    • Microsoft
The latest insights from the load balancing experts | Loadbalancer.org

The latest insights from the load balancing experts | Loadbalancer.org. All rights reserved

  • Contact Us
  • Terms & Conditions
  • Privacy Policy