Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

Envoy vs HAProxy: What are the differences?


Envoy and HAProxy are popular open-source proxy servers used for load balancing and reverse proxying. While both serve the same purpose, there are several key differences between these two options.

  1. Architecture: Envoy follows a decentralized architecture, with each instance capable of full autonomy. This allows for easy scalability and fault tolerance as there is no central point of failure. In contrast, HAProxy follows a centralized architecture, where a single instance acts as the central point for managing traffic distribution.

  2. Protocol Support: Envoy supports a wide range of protocols including HTTP, gRPC, WebSocket, TCP, and more. It provides advanced features like HTTP/2 and HTTP/3 support, automatic request splitting, and retries. On the other hand, HAProxy primarily focuses on TCP and HTTP load balancing, with limited support for other protocols.

  3. Service Discovery: Envoy has built-in service discovery capabilities that enable automatic detection and load balancing of backend services. It can integrate with service registries like Consul, Kubernetes, and more. While HAProxy supports service discovery through DNS resolution, it lacks the built-in flexibility and advanced features provided by Envoy.

  4. Configuration: Envoy uses a dynamic configuration system, where changes can be made without restarting the proxy. It supports dynamic update APIs like xDS (eXtensible Data Discovery Service) for real-time configuration management. In contrast, HAProxy requires manual configuration changes and a restart for updating proxy settings.

  5. Observability: Envoy offers extensive observability via built-in metrics, logging, and tracing capabilities. It provides detailed statistics about traffic, latency, error rates, and more. HAProxy also provides basic logging and monitoring features but lacks the comprehensive observability features offered by Envoy.

  6. Community and Adoption: Envoy has gained significant traction in recent years, backed by a vibrant community and strong industry support. It is heavily used in cutting-edge environments like Istio service mesh and Kubernetes ingress. HAProxy, while also popular, has been around for a longer time and has a more established user base.

In summary, Envoy and HAProxy differ in their architecture, protocol support, service discovery capabilities, configuration management, observability features, and community adoption. Envoy offers a more decentralized and feature-rich solution, while HAProxy is a more traditional load balancing option with a longer history.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Envoy
Pros of HAProxy
  • 9
  • 131
    Load balancer
  • 102
    High performance
  • 69
    Very fast
  • 58
    Proxying for tcp and http
  • 55
    SSL termination
  • 31
    Open source
  • 27
  • 20
  • 18
  • 12
    Very popular
  • 7
    Runs health checks on backends
  • 7
    Suited for very high traffic web sites
  • 6
  • 5
    Ready to Docker
  • 4
    Powers many world's most visited sites
  • 3
  • 2
    Ssl offloading
  • 2
    Work with NTLM
  • 1
    Available as a plugin for OPNsense
  • 1

Sign up to add or upvote prosMake informed product decisions

Cons of Envoy
Cons of HAProxy
    Be the first to leave a con
    • 6
      Becomes your single point of failure

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Envoy?

    Originally built at Lyft, Envoy is a high performance C++ distributed proxy designed for single services and applications, as well as a communication bus and “universal data plane” designed for large microservice “service mesh” architectures.

    What is HAProxy?

    HAProxy (High Availability Proxy) is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Envoy?
    What companies use HAProxy?
    See which teams inside your own company are using Envoy or HAProxy.
    Sign up for StackShare EnterpriseLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Envoy?
    What tools integrate with HAProxy?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    May 6 2020 at 6:34AM


    DockerSlackAmazon EC2+17
    What are some alternatives to Envoy and HAProxy?
    Istio is an open platform for providing a uniform way to integrate microservices, manage traffic flow across microservices, enforce policies and aggregate telemetry data. Istio's control plane provides an abstraction layer over the underlying cluster management platform, such as Kubernetes, Mesos, etc.
    nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
    linkerd is an out-of-process network stack for microservices. It functions as a transparent RPC proxy, handling everything needed to make inter-service RPC safe and sane--including load-balancing, service discovery, instrumentation, and routing.
    Trailblazer is a thin layer on top of Rails. It gently enforces encapsulation, an intuitive code structure and gives you an object-oriented architecture. In a nutshell: Trailblazer makes you write logicless models that purely act as data objects, don't contain callbacks, nested attributes, validations or domain logic. It removes bulky controllers and strong_parameters by supplying additional layers to hold that code and completely replaces helpers.
    A modern HTTP reverse proxy and load balancer that makes deploying microservices easy. Traefik integrates with your existing infrastructure components and configures itself automatically and dynamically.
    See all alternatives