Nginx up_stream 구성 및 사용

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에서 hashrandom 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 관련 정보

  • 블로그 게시물은 쉽지 않습니다. 열심히 노력 해주신 모든 분들께 관심과 칭찬을 부탁드립니다. 감사합니다.

추천

출처blog.csdn.net/qq_15769939/article/details/113429383