A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat | ||
tanszek:oktatas:iss_t:docker2 [2023/04/16 18:46] knehez |
tanszek:oktatas:iss_t:docker2 [2023/04/16 18:50] (aktuális) knehez |
||
---|---|---|---|
Sor 1: | Sor 1: | ||
==== Scale services with load balancing ==== | ==== Scale services with load balancing ==== | ||
- | https://github.com/knehez/isi - folder example2 | + | https://github.com/knehez/isi - folder example_2 |
**HAProxy** is an open-source software that provides High Availability services, load balancing, and proxying for **TCP** and **HTTP**-based applications. It is used to distribute incoming network traffic across multiple servers to improve performance, scalability, and reliability of applications. **HAProxy** acts as a reverse proxy, meaning that it receives requests from clients and forwards them to the appropriate server based on various criteria such as load balancing algorithms, server health checks, and session persistence. | **HAProxy** is an open-source software that provides High Availability services, load balancing, and proxying for **TCP** and **HTTP**-based applications. It is used to distribute incoming network traffic across multiple servers to improve performance, scalability, and reliability of applications. **HAProxy** acts as a reverse proxy, meaning that it receives requests from clients and forwards them to the appropriate server based on various criteria such as load balancing algorithms, server health checks, and session persistence. | ||
Sor 26: | Sor 26: | ||
</code> | </code> | ||
+ | HAproxy config: | ||
+ | |||
+ | The following configuration sets up HAProxy to listen on port 80 for incoming HTTP traffic and distribute it across five backend servers that are checked for health before traffic is forwarded. It also sets up a stats interface on port 8404 to monitor the HAProxy instance. | ||
+ | |||
+ | <code> | ||
+ | global | ||
+ | stats socket /var/run/api.sock user haproxy group haproxy mode 660 level admin expose-fd listeners | ||
+ | log stdout format raw local0 info | ||
+ | |||
+ | defaults | ||
+ | mode http | ||
+ | timeout client 10s | ||
+ | timeout connect 5s | ||
+ | timeout server 10s | ||
+ | timeout http-request 10s | ||
+ | log global | ||
+ | |||
+ | frontend stats | ||
+ | bind *:8404 | ||
+ | stats enable | ||
+ | stats uri / | ||
+ | stats refresh 10s | ||
+ | |||
+ | frontend myfrontend | ||
+ | bind 0.0.0.0:80 | ||
+ | mode http | ||
+ | default_backend webservers | ||
+ | |||
+ | backend webservers | ||
+ | server s1 web:5000 check | ||
+ | server s2 web:5000 check | ||
+ | server s3 web:5000 check | ||
+ | server s4 web:5000 check | ||
+ | server s5 web:5000 check | ||
+ | </code> | ||
This is a sample HAProxy configuration that defines various global settings, default settings, and frontend/backend configurations. Here's an explanation of each section: | This is a sample HAProxy configuration that defines various global settings, default settings, and frontend/backend configurations. Here's an explanation of each section: | ||
Sor 35: | Sor 70: | ||
- The backend webservers section defines a backend that consists of five servers, all with the name web and listening on port 5000. The check option specifies that HAProxy should check the health of each server before forwarding traffic to it. | - The backend webservers section defines a backend that consists of five servers, all with the name web and listening on port 5000. The check option specifies that HAProxy should check the health of each server before forwarding traffic to it. | ||
- | In summary, this configuration sets up HAProxy to listen on port 80 for incoming HTTP traffic and distribute it across five backend servers that are checked for health before traffic is forwarded. It also sets up a stats interface on port 8404 to monitor the HAProxy instance. | + | How to run? |
+ | docker-compose up --scale web=4 |