Tools
Cheatsheet
Tools
- Nginx
- HAProxy
- Envoy (winner in benchmark)
- Traefic
- ALB/NLB/GLB (AWS Elastic Load Balancer)
- Kong
HAProxy
HAProxy is a free, veryfast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for very high traffic web sites and powers quite a number of the world's most visited ones.
https://www.haproxy.com/solutions/load-balancing
https://www.haproxy.com/blog/the-history-of-haproxy
https://blog.opstree.com/2020/08/18/haproxy-hurdles-walkthrough
Keepalived
Keepalived is a routing software written in C. The main goal of this project is to provide simple and robust facilities for loadbalancing and high-availability to Linux system and Linux based infrastructures. Loadbalancing framework relies on well-known and widely used Linux Virtual Server (IPVS) kernel module providing Layer4 loadbalancing. Keepalived implements a set of checkers to dynamically and adaptively maintain and manage loadbalanced server pool according their health. On the other hand high-availability is achieved by VRRPprotocol. VRRP is a fundamental brick for router failover. In addition, Keepalived implements a set of hooks to the VRRP finite state machine providing low-level and high-speed protocol interactions. Keepalived frameworks can be used independently or all together to provide resilient infrastructures.
Envoy Proxy
Envoy is an open source edge and service proxy, designed for cloud-native applications.
Originally built atLyft, 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. Built on the learnings of solutions such as NGINX, HAProxy, hardware load balancers, and cloud load balancers, Envoy runs alongside every application and abstracts the network by providing common features in a platform-agnostic manner. When all service traffic in an infrastructure flows via an Envoy mesh, it becomes easy to visualize problem areas via consistent observability, tune overall performance, and add substrate features in a single place.
https://github.com/envoyproxy/envoy
https://www.envoyproxy.io/docs/envoy/latest/intro/intro
Secret discovery service (SDS)
https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret
Netflix Ribbon
Client Side Load Balancing | Microservices Architecture Pattern | Tech Primers