haproxy 부하 균형 기록

3342 단어 부하 균형haroxy
haproxy 의 설 치 는 매우 간단 하지만, 전 제 는 당신 의 Liux 가 gcc 환경 이 있다 는 것 입 니 다. 간단하게 기록 하 세 요.
wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz
tar zxvf haproxy-1.4.8.tar.gz
cd haproxy-1.4.8
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

여기 서 주의해 야 할 것 은 자신의 Liux 버 전 입 니 다. uname - a 명령 을 사용 하면 볼 수 있 습 니 다.
설 치 된 경 로 는...
/usr/local/haproxy

다음은 프로필.
  
global
       log 127.0.0.1 local0
       maxconn 4096
       user root
       group root
       daemon

defaults
       log global
       mode tcp
       option tcplog
       option dontlognull
       retries 3
       option redispatch
       maxconn 2000
       contimeout 4000
       clitimeout 50000
       srvtimeout 30000
       stats enable
       stats scope .

frontend mysql_cluster
       bind *:3306
       default_backend mysql_cluster_back

backend mysql_cluster_back
       mode tcp
       option tcpka
       option mysql-check
       balance roundrobin
       server db01_1.1.1.1 192.168.50.1:3306 weight 1 check port 3306 
       server db02_2.2.2.2 192.168.50.130:3306 weight 100 check port 3306


listen stats 0.0.0.0:8899
       mode http
       option httpclose
       balance roundrobin
       stats uri /admin-status
       stats realm Haproxy\ Statistics
       stats auth admin:admin

 이것 은 간단 한 프로필 입 니 다. global 과 defaults 는 기본적으로 변 하지 않 을 수 있 습 니 다. 중요 한 것 은 frontend 와 backend 입 니 다.
 frontend 에 대해 저 는 이렇게 이 해 했 습 니 다. 'my sql' 이라는 이름 을 밝 힌 셈 입 니 다.cluster 의 함수, 이 함 수 는 haproxy 기 계 를 실행 하 는 3306 포트 를 감청 한 후 이 포트 의 요청 을 backend 이름 my sql 에 게 건 네 주 었 습 니 다.cluster_back 모듈 로 처리 합 니 다. 프 록 시 프로 토 콜 tcp 를 설명 하려 면 my sql 을 해 야 하 는 클 러 스 터 이기 때문에 tcp 입 니 다. 웹 서버 의 클 러 스 터 라면 http 로 쓸 수 있 습 니 다.
balance 는 부하 균형 정책 입 니 다. 대응 하 는 정책 은 google 입 니 다.
 server db01_1.1.1.1 192.168.50.1:3306 weight 1 check port 3306 
 server db02_2.2.2.2 192.168.50.130:3306 weight 100 check port 3306

이 두 문장 은 실제 my sql 서버 정 보 를 정의 하 는 것 입 니 다. 제 쪽 은 두 대 입 니 다. 가중치 를 정의 할 수 있 습 니 다. check port 3306 은 두 대의 서버 my sql 포트 에 대해 건강 검 사 를 하고 다른 매개 변수 도 있 습 니 다. 상세 하지 않 습 니 다.
listen stats 0.0.0.0:8899
       mode http
       option httpclose
       balance roundrobin
       stats uri /admin-status
       stats realm Haproxy\ Statistics
       stats auth admin:admin

이 모듈 은 주로 haproxy 의 모니터링 인터페이스 정 보 를 정의 하고 8899 포트 를 연결 하 며 브 라 우 저 를 통 해 haproxy 의 모니터링 인터페이스 에 접근 할 수 있 습 니 다.
위의 두 기계 에서 my sql 서 비 스 를 시작 한 후, 이 컴퓨터 에 설정 파일 을 설치 디 렉 터 리 에 저장 합 니 다.
haproxy 의 실행 명령 은?
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg
그리고 브 라 우 저 에 입력 할 수 있 습 니 다:
http://192.168.50.129:8899/admin-status
기계 의 상황 을 살 펴 보면 모든 것 이 정상 이면 녹색 이다.
이때 mysql 노드 연결
mysql -h192.168.50.129 -utest-ptest -P3306
두 개의 실제 my sql 서버 는 같은 사용자 이름과 비밀 번 호 를 가 져 야 부하 균형 효 과 를 얻 을 수 있 습 니 다.
그리고 haproxy 회 륜 이 두 대의 실제 서버 사이 에서 전환 되 는 것 을 발견 할 수 있 습 니 다. 192.168.50.129 에 주의 하 십시오. 이 기 계 는 my sql 을 설치 하지 않 았 습 니 다.
어쨌든 haproxy 는 http 및 tcp 요청 에 대해 역방향 에이전트 와 부하 균형 을 이 룰 수 있 습 니 다. 웹 서버, 데이터 베 이 스 는 모두 낮은 대가 로 가장 큰 효 과 를 실현 할 수 있 습 니 다. 그러나 실제 생산 환경 에 서 는 부하 가 많 고 keepalived 와 함께 사용 할 수 있 으 며 가상 ip 방식 을 사용 하여 단일 고장 을 피 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기