HAProxy : Load Balancing on Layer42018/12/04 |
Configure HAProxy on Layer4 Mode.
Actually, it's possible to load balancing only TCP, not UDP. On this example, configure MariaDB backend like the following environment. -----------+---------------------------+--------------------------+------------ | | | |10.0.0.30 |10.0.0.51 |10.0.0.52 +----------+-----------+ +-----------+----------+ +-----------+----------+ | [ dlp.srv.world ] | | [ node01.srv.world ] | | [ node02.srv.world ] | | HAProxy | | MariaDB Server#1 | | MariaDB Server#2 | +----------------------+ +----------------------+ +----------------------+ |
[1] | Configure HAProxy. |
root@dlp:~#
vi /etc/haproxy/haproxy.cfg # change defaults section like follows defaults
log global
mode tcp
timeout connect 5000
timeout client 50000
timeout server 50000
# define MariaDB for frontend, backend
frontend mysql-in
bind *:3306
default_backend backend_servers
backend backend_servers
balance roundrobin
server node01 10.0.0.51:3306 check
server node02 10.0.0.52:3306 check
systemctl restart haproxy |
[2] | Verify working normally to access to frontend HAproxy Server. |
ubuntu@client:~# mysql -u keystone -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node01.srv.world | +---------------+------------------+ubuntu@client:~# mysql -u keystone -p -h dlp.srv.world -e "show variables like 'hostname';" Enter password: +---------------+------------------+ | Variable_name | Value | +---------------+------------------+ | hostname | node02.srv.world | +---------------+------------------+ |
Sponsored Link |