소개
오늘날의 빠르게 진행되는 디지털 환경에서 응용 프로그램 가용성과 성능이 중요합니다. 최신 인프라는 트래픽을 효율적으로 할당하여 서버 고장의 경우에도 서비스 가용성을 유지하기 위해 강력한 솔루션이 필요합니다. haproxy 고성능 하중 밸런싱 및 장애 조치의 실제 표준으로서 시작되었습니다.
이 기사는 가장 인기있는 Linux 배포판 중 하나 인 Haproxy와 Ubuntu의 시너지 효과를 탐구합니다. 설치에서 고급 구성에 이르기까지 Haproxy가로드 밸런싱 및 장애 조력 기능으로 인프라를 변환 할 수있는 방법에 대해 설명합니다.
로드 밸런싱에 대한 자세한 설명
로드 밸런싱은 들어오는 네트워크 트래픽을 여러 서버에 할당하는 프로세스입니다. 부하의 균형을 유지함으로써 단일 서버가 압도되지 않도록하여 성능, 신뢰성 및 결함 공차가 향상됩니다.
주요 장점 :
확장 성 :
더 많은 서버를 추가하여 트래픽 증가를 훈련시킵니다.
신뢰성 : 트래픽을 일반 서버로 라우팅하여 서버 고장의 영향을 쉽게합니다.
성능 :
워크로드를 균등하게 분배하여 대기 시간을 줄입니다.
로드 밸런싱 유형 :
레이어 4 (전송 계층) :
IP 및 포트 정보에 따라 트래픽을 배포합니다.
레이어 7 (응용 프로그램 계층) : - Application 수준 데이터 (예 : HTTP 헤더)를 기반으로 라우팅 결정을 내립니다.
실패 개념
장애 조치는 주요 자원 실패가 발생할 경우 백업 리소스로 트래픽을 자동으로 방향을 전환하여 연속성을 보장합니다. 고 가용성 (ha) 설정의 초석입니다. -
Haproxy를 사용하면 장애 조치가 원활합니다 :
백엔드 서버를 사용할 수없는 경우 Haproxy는 건강 검진을 통해이를 감지합니다.
트래픽은 다른 사용 가능한 서버로 다시 라우팅되므로 중단되지 않은 서비스를 유지합니다.
-
우분투에 하프 렉시를 설정하십시오
우분투에 haproxy를 설치하고 구성하여 시작하겠습니다.
전제 조건 :
우분투 서버 (20.04 이상 사용 권장).
로드 밸런싱 테스트를위한 다중 백엔드 서버.
기본 Linux 명령 줄 기술.
1 단계 : Haproxy를 설치하십시오
-
<:> 시스템을 업데이트하십시오 :
Haproxy 설치 :
설치 확인 :
2 단계 : Haproxy를 구성 -
구성 파일 편집 :
<code>global
log /dev/log local0
log /dev/log local1 notice
maxconn 2048
daemon
defaults
log global
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http_front
bind *:80
default_backend http_back
backend http_back
balance roundrobin
server server1 192.168.1.101:80 check
server server2 192.168.1.102:80 check</code>
하프 렉시를 다시 시작하여 변경 사항을 적용하십시오
서버의 IP 주소에 액세스하여 테스트합니다. Haproxy는 백엔드간에 요청을 할당합니다. -
sudo systemctl restart haproxy
고급 구성
로드 밸런싱 알고리즘 : -
여론 조사 : 순차적으로 요청을 할당합니다.
연결 수 : 연결이 가장 적은 연결로 서버로 라우팅되었습니다.
소스 : 클라이언트가 항상 동일한 서버로 라우팅되도록하십시오.
그에 따라 백엔드에서 지침을 업데이트하십시오. -
건강 점검 : 건강 검사를 통해 트래픽이 일반 서버로만 전송되도록합니다. 지침은 정기적 인 건강 검사를 수행합니다.
SSL 종료 :
트래픽을 보호하려면 SSL 종료를 처리하도록 Haproxy를 구성하십시오. -
SSL 인증서를 받으십시오.
https를 사용하려면 구성 업데이트 :
-
액세스 제어 목록 (ACL) : ACL을 사용한 트래픽을 필터 :
고 가용성을 활성화
vrrp with keepalived : balance
장애 조치를 활성화하려면 Haproxy와 Keepalived를 통합하십시오.
repualived 설치 :
구성 keepalived () :
check
재시작을 다시 시작합니다 :
Keepalived는 기본 서버가 실패 할 때 보조 서버가 원활하게 인수되도록합니다.
모니터링 및 성능 튜닝 -
Haproxy 통계 패널 :
실시간 모니터링을위한 패널 활성화 : -
frontend https_front bind *:443 ssl crt /etc/haproxy/certs/example.pem default_backend http_back
에 액세스하십시오.
최적화 기술 :
및 설정을 조정하십시오.
HTTP 트래픽에 GZIP 압축을 사용하십시오. <code>frontend http_front
acl is_api path_beg /api
use_backend api_back if is_api</code>
로그의 예외를 모니터링합니다.
사용자 사례 및 실제 시나리오
MicroServices : 여러 서비스에 API 요청을 할당합니다.
웹 애플리케이션 : 백엔드 서버를 확장하여 트래픽 스파이크를 처리합니다.
데이터베이스로드 밸런싱 :
읽기 및 쓰기 작업을 최적화하십시오.
-
sudo apt install keepalived -y
FAQ의 문제 해결
연결 문제 : -
/etc/keepalived/keepalived.conf
방화벽 규칙을 확인하십시오.
서버 건강 검사를 확인하십시오.
<code>vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass mypassword
}
virtual_ipaddress {
192.168.1.100
}
}</code>
성능 병목 현상 :
-
파일 디스크립터의 ulimit을 추가하십시오.
sudo systemctl restart keepalived
백엔드 서버 구성 최적화.
유지 보수 :
항상 백업 구성. -
트래픽이 적은 동안 업데이트를 적용하십시오.
-
결론
Haproxy와 Ubuntu를 결합하여 트래픽을 관리하고 가동 시간을 보장하는 강력한 조합을 얻을 수 있습니다. 위의 단계를 사용하면 높은 부하 및 서버 장애를 처리 할 수있는 탄력적 인 인프라를 구축 할 수 있습니다.
지금 Haproxy를 시도하고 Ubuntu 시스템 기능의 잠재력을 최대한 활용하십시오.
위 내용은 우분투의 하프 렉시 : 탄력성 인프라를위한로드 밸런싱 및 장애 조치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!