Difference between revisions of "Load balancer (Networking)"

From wikieduonline
Jump to navigation Jump to search
 
(13 intermediate revisions by 6 users not shown)
Line 11: Line 11:
  
  
Typical options:
+
== Configuration options ==
 
* Listening port
 
* Listening port
 
* [[FQDN]]
 
* [[FQDN]]
* Protocol: [[TCP]], [[UDP]], [[HTTP]], [[HTTPS]], [[WebSockets]]
+
* [[Protocol]]: [[TCP]], [[UDP]], [[HTTP]], [[HTTPS]], [[WebSockets]]
 
* Destination servers and destination port
 
* Destination servers and destination port
 
* Load Balancing algorithm: [[WRR]], [[weighted least connection]], [[source IP hash]]
 
* Load Balancing algorithm: [[WRR]], [[weighted least connection]], [[source IP hash]]
Line 41: Line 41:
  
 
== Related terms ==
 
== Related terms ==
 +
* [[Amazon Load Balancers]]
 +
* [[Security groups for your Application Load Balancer (ALB)]]
 +
* [[Security groups for your Network Load Balancer (NLB)]] (do not have)
 +
* [[ALB]]
 
* [[Amazon Elastic Load Balancer (ELB)]]
 
* [[Amazon Elastic Load Balancer (ELB)]]
* [[Application Load Balancer (ALB)]]: [[Amazon Application Load Balancer (ALB)]]
+
* [[Application Load Balancer (ALB)]]: [[AWS Application Load Balancer (ALB)]]
 +
* [[Google Cloud Load Balancing]]
 
* [[Load Balancer as a Service (LBaaS)]]
 
* [[Load Balancer as a Service (LBaaS)]]
 
* <code>[[openstack loadbalancer create]]</code>
 
* <code>[[openstack loadbalancer create]]</code>
 
* [[Envoy Proxy]]
 
* [[Envoy Proxy]]
 +
* [[Oracle Cloud Load Balancer]]
 +
* [[Kubernetes load balancers]]
 +
* [[IncompatibleProtocols]]
 +
* [[MetalLB]] ([[Kubernetes]])
  
 
== See also ==
 
== See also ==
 
* {{HTTPS}}
 
* {{HTTPS}}
 
* {{Proxy}}
 
* {{Proxy}}
* [[Traefik]]
+
* {{ALB}}
 +
* {{LB}}
  
 
[[Category:web]]
 
[[Category:web]]

Latest revision as of 12:59, 27 March 2024

Load balancing across multiple application instances is a commonly used technique for optimizing resource utilization, maximizing throughput, reducing latency, and ensuring fault‑tolerant configurations.


Load balancing in Nginx is configured using upstream directive.[1].

Network load balancer can provide service for different protocols, such as TCP, UDP, HTTP or HTTPS.


Configuration options[edit]

Nginx configuration example[edit]

upstream backend {
    # no load balancing method is specified for Round Robin. Other options: least_conn, ip_hash, least_time header, random two least_time=last_byte
    server backend1.example.com slow_start=30s;
    server backend2.example.com max_conns=3;
    server backend3.example.com weight=5;
    server backend4.example.com;
    #server backend5.example.com:443;    (if you are connecting to an https backend. Additional configuration is required)
    server 192.0.0.1 backup;
    #queue 100 timeout=70;  (option if using max_conns directive)
}


HTTPS termination[edit]

HTTPS termination is at least supported on Nginx, Amazon ELB[2] and OpenStack [3]

Activities[edit]

Related terms[edit]

See also[edit]

  • https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#overview
  • https://aws.amazon.com/elasticloadbalancing/faqs/
  • https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-load-balancer-with-backend-re-encryption
  • Advertising: