> 시스템 튜토리얼 > 리눅스 > 우분투의 하프 렉시 : 탄력성 인프라를위한로드 밸런싱 및 장애 조치

우분투의 하프 렉시 : 탄력성 인프라를위한로드 밸런싱 및 장애 조치

Joseph Gordon-Levitt
풀어 주다: 2025-03-05 09:06:11
원래의
611명이 탐색했습니다.

HAProxy on Ubuntu: Load Balancing and Failover for Resilient Infrastructure 소개

오늘날의 빠르게 진행되는 디지털 환경에서 응용 프로그램 가용성과 성능이 중요합니다. 최신 인프라는 트래픽을 효율적으로 할당하여 서버 고장의 경우에도 서비스 가용성을 유지하기 위해 강력한 솔루션이 필요합니다. 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는 백엔드간에 요청을 할당합니다.
    1. sudo systemctl restart haproxy 고급 구성
    2. 로드 밸런싱 알고리즘 :
    여론 조사 :

    순차적으로 요청을 할당합니다. 연결 수 : 연결이 가장 적은 연결로 서버로 라우팅되었습니다.

    소스 :

    클라이언트가 항상 동일한 서버로 라우팅되도록하십시오.

    그에 따라 백엔드에서
      지침을 업데이트하십시오.
    • 건강 점검 : 건강 검사를 통해 트래픽이 일반 서버로만 전송되도록합니다. 지침은 정기적 인 건강 검사를 수행합니다. SSL 종료 :
    • 트래픽을 보호하려면 SSL 종료를 처리하도록 Haproxy를 구성하십시오.
    • SSL 인증서를 받으십시오. https를 사용하려면 구성 업데이트 :
    • 액세스 제어 목록 (ACL) : ACL을 사용한 트래픽을 필터 :
    • 고 가용성을 활성화

    vrrp with keepalived : balance 장애 조치를 활성화하려면 Haproxy와 Keepalived를 통합하십시오.

    repualived 설치 : 구성 keepalived () : check

    재시작을 다시 시작합니다 :

    Keepalived는 기본 서버가 실패 할 때 보조 서버가 원활하게 인수되도록합니다.

      모니터링 및 성능 튜닝
    1. Haproxy 통계 패널 :
    2. 실시간 모니터링을위한 패널 활성화 :
    3. frontend https_front bind *:443 ssl crt /etc/haproxy/certs/example.pem default_backend http_back 에 액세스하십시오.
    4. 최적화 기술 :

    및 설정을 조정하십시오.

    HTTP 트래픽에 GZIP 압축을 사용하십시오.
    <code>frontend http_front
        acl is_api path_beg /api
        use_backend api_back if is_api</code>
    로그인 후 복사
    로그의 예외를 모니터링합니다.

    사용자 사례 및 실제 시나리오

    MicroServices :

    여러 서비스에 API 요청을 할당합니다. 웹 애플리케이션 : 백엔드 서버를 확장하여 트래픽 스파이크를 처리합니다. 데이터베이스로드 밸런싱 :

    읽기 및 쓰기 작업을 최적화하십시오.
    1. sudo apt install keepalived -y FAQ의 문제 해결
    2. 연결 문제 :
    3. /etc/keepalived/keepalived.conf 방화벽 규칙을 확인하십시오.
    4. 서버 건강 검사를 확인하십시오.
    <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>
    로그인 후 복사
    성능 병목 현상 :
    1. 파일 디스크립터의 ulimit을 추가하십시오. sudo systemctl restart keepalived 백엔드 서버 구성 최적화.
    유지 보수 :

      항상 백업 구성.
    • 트래픽이 적은 동안 업데이트를 적용하십시오.
    • 결론
    Haproxy와 Ubuntu를 결합하여 트래픽을 관리하고 가동 시간을 보장하는 강력한 조합을 얻을 수 있습니다. 위의 단계를 사용하면 높은 부하 및 서버 장애를 처리 할 수있는 탄력적 인 인프라를 구축 할 수 있습니다.

    지금 Haproxy를 시도하고 Ubuntu 시스템 기능의 잠재력을 최대한 활용하십시오.

위 내용은 우분투의 하프 렉시 : 탄력성 인프라를위한로드 밸런싱 및 장애 조치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿