문제

탄력있는로드 균형 조정을 수행하는 방법이 있는지 궁금합니다.나는 Haproxy에 관해 읽었지만, 더 많거나 적은 기계로 일하기 위해 그것을 재구성하기 위해 Haproxy를 가져올 필요가있는 것 같습니다.

그림을 더 깨끗하게합니다. 웹 백엔드 클러스터가 있습니다 (Apache + mod_rails라고해도).트래픽이 매우 높을 경우 백엔드의 사용을 모니터링하고 동일한 콘텐츠를 매우 빠르게 (초) 매우 빨리 가져올 수 있습니다.그러나 Haproxy를 다시 시작하지 않고 추가 백엔드를 사용하는 방법을 모르겠습니다.Haproxy 또는 다른로드 밸런서를 사용 하여이 작업을 수행하는 방법이 있습니까?

중복을 위해 두 개의로드 밸런서를 가질 수있는 방법이있을 수 있습니다.그런 다음 하나를 가져오고, 구성을 업데이트하고, 그것을 백업하고 다른 것을 제거 할 수 있습니다.그러나 나는 이것을하는 방법에 대해 좋은 생각이 없습니다.

도움이 되었습니까?

해결책

새 서버를 추가 해야하는 경우 새 프로세스가 작동 할 때 새 서버를 새 서버를 추가 해야하는 경우 "-sf $ OldPid"로 새 프로세스를 시작할 때 거의 탐지되지 않아야합니다. 병렬.

서버를 일시적으로 비활성화 해야하는 경우 몇 가지 옵션이 있습니다.

1) (기본값 하나) : "옵션 http-disable-on-404"를 사용하고 서버의 검사 응답을 활성화하고 404를 반환합니다. 이렇게하면 새 연결을 사용하지 않지만 기존 사용자가 세션을 완료 할 수 있습니다. 그런 다음 500을 반환하면 프로세스를 중지 할 수 있습니다. 이 방법의 이점은 LB를 터치 할 필요가 없으며 모든 것이 작동중인 서버에서 제어됩니다. 이것은 현명한 인프라의 대부분이 어떻게 그것을합니까?

2) 쉬운 일체 : SoCat을 사용하여 통계 소켓에 연결하고 작업하려는 서버를 비활성화합니다.

printf "disable server 1\n" | socat stdio unix-connect:/var/state/haproxy.stat
.

다음 일단 끝나면 다음을 수행합니다.

printf "enable server 1\n" | socat stdio unix-connect:/var/state/haproxy.stat
.

구성을 수정하지 않는 한, 다시 시작할 이유가 없습니다. 감지되지 않은 상태로 유지됩니다.

다른 팁

예산이있는 경우 www.zeus.com을보십시오.몇 주 안에 새로운 릴리스 가이 상자에서 제공되지만 기존 릴리스를 사용하여 서비스 수준 모니터링을 제공 한 다음 스크립팅 언어 및 API를 사용하여 백엔드 서버에 대한 자동 프로비저닝 기능을 만들 수 있습니다..

무료 evals는 개발자 라이센스와 같이 사용할 수 있으므로 비용없이 비용이 들지 않는 것을 모델링 할 수 있습니다.

ZEUS 소프트웨어는 일부 시점에서 그 경로를 내려 놓으려면 여러 클라우드 제공 업체에서도 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top