일반적인로드 밸런싱 및 고 가용성 기술

저작권 : 원래 작업, 게시 된 소스를 표시하시기 바랍니다! https://blog.csdn.net/sa19861211/article/details/90441633

디렉토리

첫째,로드 밸런싱 기술

각각의로드 밸런싱 기술 비교

1. 하드웨어 부하 분산

2. 소프트웨어는 균형에 대한 책임

3. DNS 부하 분산

균형 전략을로드 :

LVS로드 밸런싱 전략

HAProxy 부하 분산 전략

Nginx의로드 밸런싱 전략

둘째, 고 가용성 기술

셋째, 성숙 리눅스로드 밸런싱 및 고 가용성 아키텍처

DBRD 세 가지 복사 계약


첫째,로드 밸런싱 기술

각로드 밸런싱 기술을 비교 :

1. 하드웨어 부하 분산 :

  • F5 BIG-IP (권장)
  • 시트릭스 넷 스케일러

2. 소프트웨어는 균형에 대한 책임이 있습니다 :

기술 가상 서버 구현 적용 현장
LVS NAT 가상 서버 (VS / NAT) 네 번째 층의로드 밸런싱, 실제 서버의 수는 20을 초과 할 수 없다.
의 IP 터널을 통해 가상 서버 (VS / TUN) 네 번째 층의로드 밸런싱로드. 예약 요청을 직접 다시 고객에 대한 응답 만 책임 스케줄러.
직접 경로를 통해 가상 서버 (VS / DR) 제 2 층로드 밸런싱. 디스패처 및 서버는 로컬 영역 네트워크를 통해 연결되어있는 물리적 네트워크 어댑터가 있어야합니다.
HAProxy N / A  로드 밸런싱에서 네 번째 및 7 층을 지원합니다.
Nginx에 N / A   로드 밸런싱에서 네 번째 및 7 층을 지원합니다.

3. DNS 부하 분산 :

  • DNS 폴링

균형 전략을로드 :

LVS 로드 밸런싱 전략 :

로드 밸런싱 전략 정책 설명 적용 현장
간단한 설문 조사 클러스터의 실제 서버에 할당 차례로 외부 요청 순차적으로. 동일한 서버 성능
WRR 간단한 폴링에 기초하여, 스케줄링 요청 액세스에 할당 된 가중치에 따라. 다른 서버 성능
최소 연결 동적으로 파견 네트워크는 설정된 연결의 최소 개수에 서버를 요청합니다. 다른 서버 성능
가중 최소 연결 서버 부하의 큰 비율을 부담하는 높은 가중치 값을 갖는 최소 연결 알고리즘에 기초하여 연결된 활동 인 아주 다른 서버 성능
지역 기반 최소 연결 서버가 존재하지 않는 경우, 또는 서버가 서버가있는 경우 과부하 반되고 서버를 사용할 수 있으며, 요청이 서버로 전송됩니다 과부하되지 않은 경우 대상 서버 요청의 대상 IP 주소, 가장 최근에 사용의 IP 주소를 확인하는 작업 부하, "최소 연결"의 원칙에 의해 선출했다. 캐시 클러스터 시스템이 주로 사용된다
적어도 지역 기반의 밴드 복제 연결 서버가 과부하되지 않은 경우 서버 요청의 대상 IP 주소, 대상 그룹의 IP 주소를 해당 식별 서버 그룹에서 서버에 의해 선출 된 "최소 연결"을 누르면, 서버에 요청을 보내, 서버가 과부하되면, 이 클러스터에 서비스 스테이션에서 선택한 "최소 연결"원칙을 누르면, 서버 그룹은 서버에 추가, 서버에 요청을 보냅니다. 캐시 클러스터 시스템이 주로 사용된다
대상 주소 해싱 서버가 그렇지 않으면 빈, 서버에 요청을 보내 과부하를 사용할 수없는 경우 해시 키 (해시 키)와 같은 요청의 대상 IP 주소, 해시 정적 할당의 목록에서 해당 서버를 찾을 수 있습니다.  
원본 주소 해싱 서버가 그렇지 않으면 빈, 서버에 요청을 보내 과부하를 사용할 수없는 경우 해시 키와 요청 소스의 IP 주소, 해시 정적 할당의 목록에서 해당 서버를 찾을 수 있습니다.  

HAProxy로드 밸런싱 전략 :

  • 라운드 로빈 : 간단한 설문 조사    
  • 정적-RR : WRR    
  • 소스 : 동기화의 문제를 해결하는 등의 요청 소스 IP 세션에 따른 방법.

Nginx의로드 밸런싱 전략 :

  • 간단한 설문 조사
  • WRR
  • ip_hash
  • url_hash

둘째, 고 가용성 기술

구현 기술 적용 현장 사용 사례
Keepalived 프론트 엔드로드 밸런서는 일반적으로 부하 분산 장치의 프론트 엔드의 고 가용성을 보장하기 위해 듀얼 프로그램을 사용합니다.  
심장의 고동 프로덕션 환경에서는 하트 비트 고 가용성 파일 시스템은 DRBD와 라인에 적용 할 수있다 MySQL의 관계자는 고 가용성의 MySQL을 달성하는 수단으로 권장
DRBD 고 가용성 장치 블록. 데이터는 로컬 파일 시스템에 기록 될 때, 데이터는 또 다른 호스트로 네트워크에 전송하고, 파일 시스템의 형태로 동일한 기록한다. 로컬 (마스터)와 실시간 데이터의 동기화를 보장 할 수있는 원격 호스트 (노드 장치). DRBD는 공식 MySQL의 매뉴얼되어 및 권장 된 고 가용성 솔루션의 한으로 문서를 작성했습니다

셋째, 성숙 리눅스로드 밸런싱 및 고 가용성 아키텍처

  • LVS + Keepalived    
  • HAProxy + Keepalived    
  • Nginx에 + Keepalived    
  • DRBD + 하트 비트    
  • DRBD + 하트 비트 + NFS는 : 고 가용성 파일 서버를 구축

DBRD 세 가지 복사 계약

  • 복제 프로토콜 : 로컬 및 원격 디스크가 쓰기가 완료 결정할 경우에만 서면을 생각 마스터가 완료됩니다.
  • 비동기 복제 프로토콜 :만큼 작업이 완료 쓰기 로컬 쓰기 작업의 마스터 노드 및 패킷을 복제 할 필요는 로컬 TCP 전송 버퍼에 저장됩니다.
  • 복제 메모리 프로토콜 : 로컬 기입이 완료된 디스크, 및 상기 데이터 패킷에 대응하는 복사는 마스터 노드는 디스크 기록이 완료되었는지 판단 노드에서 도착했습니다.

추천

출처blog.csdn.net/sa19861211/article/details/90441633