LVS#Haproxy + MysqL4層ロードバランシング

Haproxy + MyaqLは、4層の負荷分散の基本的な知識を実現します

1.
Haproxy基本ソフトウェア:haproxy-主にロードバランシングの第7層用で、第4層のロードバランシングも実行できます。apacheは第7層のロードバランシングも実行
  できますが、非常に面倒です。誰も実際の仕事でそれを使用しません。
  負荷分散は、OSIプロトコルに対応する
  7層の負荷分散です。7層のhttpプロトコルが使用され、
  4層の負荷分散:tcpプロトコルとポート番号が負荷分散に使用されます。

ha-proxyの概要
  ha-proxyは、高性能の負荷分散ソフトウェアです。ロードバランシングに重点を置いているため、nginxよりもロードバランシングの方が優れており、プロフェッショナルです。
ha-proxyの機能(優れた監視ページがあります)
ha-proxyは、現在人気のある負荷分散ソフトウェアとして、その優れた側面を備えている必要があります。以下に、LVS、Nginx、およびその他の負荷分散ソフトウェアに対するha-proxyの利点を紹介します

  •tcp / http 2プロトコルレイヤーのロードバランシングをサポートし、ロードバランシング機能を非常に豊富にします。
  •8種類の負荷分散アルゴリズムをサポートします。特にhttpモードでは、さまざまなニーズに適した非常に現実的な負荷分散アルゴリズムが多数あります。
  •パフォーマンスは非常に優れています。イベント駆動型リンク処理モードとシングルプロセス処理モード(Nginxと同様)により、パフォーマンスが優れています。
  •システムの現在のステータスをリアルタイムで理解するための優れた監視ページを用意します。
  •強力なACLサポートにより、ユーザーは非常に便利です。


2.Haproxyアルゴリズム1.Roundrobin
は、重みに基づいてポーリングを実行します。これは、サーバーの処理時間が均等に分散されている場合に最もバランスの取れた公平なアルゴリズムです。このアルゴリズムは動的であるため、実行時に重みを調整できます。ただし、設計では、各バックエンドサーバーは最大4128の接続しか受け入れることができません。2。static
-rr
は、ラウンドロビンと同様に重みに基づいてポーリングしますが、静的な方法であり、実行時にサーバーの重みを調整しても効果はありません。バックエンドサーバー接続の数に制限はありません
。3。Leastconnの
新しい接続要求は、接続数が最も少ないバックエンドサーバーにディスパッチされます。

两台haproxy配置文件:
[root@ha-proxy-master ~]# cat /etc/haproxy/haproxy.cfg
Haproxy L4
=================================================================================
global
    log         127.0.0.1 local2
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    nbproc      1
defaults
    mode                    http
    log                     global
    option                  redispatch
    retries                 3
    maxconn                 4000
    contimeout	            5000
    clitimeout	            50000
	srvtimeout	            50000
listen stats
    bind			*:80
    stats                   	enable
    stats uri              	/haproxy
    stats auth           	qianfeng:123
frontend  web
    mode                   	http
    bind                    	    *:80
    option                  httplog
    default_backend    httpservers
backend httpservers
    balance     roundrobin
    server  http1 192.168.246.162:80 maxconn 2000 weight 1  check inter 1s rise 2 fall 2
    server  http2 192.168.246.163:80 maxconn 2000 weight 1  check inter 1s rise 2 fall 2
listen mysql
    bind *:3306
    mode tcp
    balance roundrobin
    server mysql1 192.168.246.163:3306 weight 1  check inter 1s rise 2 fall 2
    server mysql2 192.168.246.162:3306 weight 1  check inter 1s rise 2 fall 2
找一台机器做为客户端去测试,在测试的时候注意mysql的远程登录权限

Haproxy + MyaqLは4層の負荷分散実験操作を実現します

1. 2つのデータベースが用意され、区別しやすいように異なるデータベースが作成されます

 yum -y install mariadb mariadb-server
 systemctl start mariadb
 mysql
 creata database db1;
 create database db2;
 grant all on *.* to 'root'@'%' identified by '123';
 flush privileges;

2.Haproxy構成

[root@haproxy-slave ~]# vim /etc/haproxy/haproxy.cfg
global
    log         127.0.0.1 local2
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon
    nbproc      1
defaults
    mode                    http
    log                     global
    option                  redispatch
    retries                 3
    maxconn                 4000
    contimeout              5000
    clitimeout              50000
        srvtimeout                  50000
listen stats
    bind                        *:80
    stats                       enable
    stats uri                   /haproxy
    stats auth                  qianfeng:123
listen mysql
    bind *:3306
    mode tcp
    balance roundrobin
    server mysql1 192.168.138.132:3306 weight 1  check inter 1s rise 2 fall 2
    server mysql2 192.168.138.135:3306 weight 1  check inter 1s rise 2 fall 2
[root@haproxy-slave ~]# systemctl status haproxy
    

3.クライアントアクセスの検証

[root@haproxy-slave ~]# mysql -u root -p123 -h 192.168.138.131

ここに写真の説明を挿入

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/kakaops_qing/article/details/109207977