1 명령 매개 변수
1.1 max_conns
각 서버의 연결 수를 제한하는 것은 과부하로부터 보호하기 위해 사용되며 현재 제한 역할을 할 수 있습니다.
# worker进程设置1个,便于测试观察成功的连接数
worker_processes 1;
upstream tomcats {
server 192.168.51.5:8080 max_conns=2;
server 192.168.51.6:8080 max_conns=2;
server 192.168.51.7:8080 max_conns=2;
}
1.2 slow_start
upstream tomcats {
server 192.168.1.173:8080 weight=6 slow_start=60s;
server 192.168.51.5:8080;
server 192.168.51.6:8080 weight=2;
server 192.168.51.7:8080 weight=2;
}
- 이 매개 변수는 해시 및 임의로드 밸런싱에서 사용할 수 없습니다.
- 업스트림에 서버가 하나만있는 경우이 매개 변수는 유효하지 않습니다.
1.3 다운 、 백업
down
서비스 노드를 사용할 수 없음으로 표시하는 데 사용됩니다.
upstream tomcats {
server 192.168.51.5:8080 down;
server 192.168.51.6:8080 weight=1;
server 192.168.51.7:8080 weight=1;
}
backup
현재 서버 노드가 대기 시스템이고 다른 서버가 다운 된 후에 만 클러스터에 가입하고 사용자가 액세스 할 수 있음을 나타냅니다.
upstream tomcats {
server 192.168.51.5:8080 backup;
server 192.168.51.6:8080 weight=1;
server 192.168.51.7:8080 weight=1;
}
backup
에서hash
및random load balancing
에서 매개 변수를 사용할 수 없습니다 .
1.4 max_fails 、 fail_timeout
max_fails
: 여러 오류를 나타내며 서버가 다운 된 것으로 표시되며 업스트림 서비스가 제거됩니다.
fail_timeout
: 실패한 재시도 시간을 나타냅니다.
max_fails=2 fail_timeout=15s
즉, 서버 요청이 15 초 이내에 두 번 실패하면 서버가 중단되거나 중단 된 것으로 간주하고 15 초 후에는 15 초 이내에 중단 된 노드에 새로운 요청이 도달하지 않습니다. 실행중인 서버로 전송됩니다. 15 초 후에 다운 된 서버에 연결을 시도하는 새로운 요청이 있습니다. 그래도 실패하면 복구 될 때까지 이전 프로세스를 반복합니다.
2 Keepalived로 처리량 향상
keepalived
: 긴 연결 처리 횟수 설정 : 긴 연결
proxy_http_version
의 http 버전을 1.1로 설정
proxy_set_header
: 연결 헤더 정보 지우기
upstream tomcats {
# server 192.168.51.5:8080 max_fails=2 fail_timeout=1s;
server 192.168.51.5:8080;
# server 192.168.51.6:8080 weight=1;
# server 192.168.51.7:8080 weight=1;
keepalive 32;
}
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
3 부하 분산
3.1 ip_hash
ip_hash
사용자 IP가 변경되지 않은 경우 사용자 액세스가 업스트림 서비스에서 고정 서버를 요청할 수 있음을 보장 할 수 있습니다. 참고 사항
사용 ip_hash
:
백엔드 서버가 직접이 전용으로 표시 할 수 있습니다 제거 할 수 없습니다 down
.
If one of the servers needs to be temporarily removed, it should be marked with the down parameter in order to preserve the current hashing of client IP add
upstream tomcats {
ip_hash;
server 192.168.51.5:8080;
server 192.168.51.6:8080 down;
server 192.168.51.7:8080;
}
3.2 url_hash 与 least_conn
각 요청의 url
주소에 따라 hash
나중에 고정 서버 노드에 액세스
upstream tomcats {
# url hash
hash $request_uri;
# 最少连接数
# least_conn
server 192.168.51.5:8080;
server 192.168.51.6:8080;
server 192.168.51.7:8080;
}
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
}
}
4 관련 정보
- 블로그 게시물은 쉽지 않습니다. 열심히 노력 해주신 모든 분들께 관심과 칭찬을 부탁드립니다. 감사합니다.