NGINX Plus Release 5(R5) 출시 소식을 전해드리게 되어 매우 기쁩니다. 이 릴리스에서는 NGINX 오픈 소스 배포판에서 최근 릴리스된 기능과 NGINX Plus에서만 사용할 수 있는 여러 기능이 하나로 통합되었습니다.
주요한 새로운 기능은 데이터베이스, RPC, 채팅 프로토콜과 같은 일반적인 TCP 기반 프로토콜에 대한 부하 분산 입니다. NGINX Plus R5 블로그 게시물의 TCP 부하 분산에 대한 관련 내용은 다음과 같습니다.
NGINX Plus R5에는 부하 분산 및 캐싱 기능이 다양하게 개선되었습니다.
웹 가속, 로드 밸런싱, 애플리케이션 전송 솔루션을 찾고 있거나 추가 모니터링 및 관리 API를 갖춘 완벽히 지원되는 웹 서버를 찾고 있다면 NGINX Plus를 고려해 보세요.
NGINX Plus R5는 스트림 모듈에 구현된 TCP 연결에 대한 부하 분산 기능을 도입했습니다. MySQL 및 SSL/TLS(복호화 없음)와 같은 다양한 비 HTTP 연결의 부하를 분산할 수 있습니다. 기존 메일 프록시 모듈과 새로운 스트림 모듈을 결합하여 메일 프로토콜(SMTP, POP3, IMAP)의 부하를 분산하고 관리할 수도 있습니다.
이 릴리스에서는 다양한 부하 분산 방법(라운드 로빈, 최소 연결, 해시, IP 해시), 연결 매개변수 제어, 인라인 상태 검사를 통한 고가용성, 복구된 서버에 대한 느린 시작, 서버를 수동으로 활성, 백업 또는 다운으로 지정하는 기능이 제공됩니다.
자세한 내용은 블로그의 NGINX Plus R5의 TCP 부하 분산 과 NGINX Plus 관리자 가이드의 TCP 부하 분산을 참조하세요. 이 기능은 NGINX Plus에서만 제공됩니다.
유지 관리나 업그레이드를 위해 업스트림 노드를 다운시켜야 하는 경우가 있습니다. 릴리스 5의 새로운 세션 드레이닝 기능을 사용하면 NGINX Plus에 해당 노드로 새로운 연결을 보내지 않도록 신호를 보내고, 연결이 완료될 때까지 해당 노드의 기존 세션을 유지하도록 할 수 있습니다.
라이브 활동 모니터링을 사용하면 드레인된 노드의 트래픽을 모니터링하고 사용자 세션이 완료되었는지 확인할 때까지 오프라인으로 전환할 수 있습니다.
# 업스트림 그룹 'backends'의 서버 1이 마지막으로 사용된 Unix epoch 시간을 초 단위(밀리초로 반올림)로 반환합니다. $ curl http://localhost:8080/status/upstreams/backends/1/selected # 서버가 유휴 상태였던 시간을 계산합니다(밀리초 단위). $ expr `date +%s000` - `curl -s http://localhost:8080/status/upstreams/backends/1/selected`
[편집기 - 이전 명령은 NGINX Plus 상태 모듈( 상태
지시문으로 활성화)을 사용합니다. 해당 모듈은 NGINX Plus 릴리스 13 (R13) 이상 에서 NGINX Plus API 로 대체되어 더 이상 사용되지 않으며, NGINX Plus R15 이후에는 사용할 수 없습니다.]
사용자 세션을 추적하기 위한 스티키 쿠키 메커니즘이 업데이트되어 만료 시간이 세션의 첫 번째 요청이 아닌 가장 최근 요청에 적용됩니다. 즉, 세션을 더 정확하게 추적할 수 있다는 의미입니다.
세션 드레이닝 및 스티키 쿠키 기능은 NGINX Plus에서만 사용할 수 있습니다.
업스트림 그룹의 서버가 요청에 응답하지 못하면 NGINX Plus는 자동으로 해당 그룹의 다른 서버에서 요청을 다시 시도합니다. 새로운 proxy_next_upstream_tries
및 proxy_next_upstream_timeout
지시어는 각각 재시도 횟수 및 NGINX가 재시도를 계속할 수 있는 시간을 제한하여 이 동작을 보다 효과적으로 제어할 수 있도록 해줍니다.
이 기능은 NGINX 1.7.5에서 출시되었으며 HTTP, FastCGI, uWSGI, SCGI 및 memcached 트래픽의 프록싱에 적용됩니다.
Vary
헤더가 지원됩니다.일부 웹 서버는 요청하는 클라이언트 유형에 따라 다양한 버전의 리소스를 제공합니다. 예를 들어, 브라우저가 웹사이트의 홈페이지를 요청하면 서버는 고해상도 이미지가 있는 버전을 제공하지만, 클라이언트가 모바일 기기일 경우에는 이미지가 없는 버전을 제공합니다. 이러한 서버는 응답에서 Vary
헤더를 설정하여 캐싱 프록시에게 클라이언트 요청에서 어떤 헤더를 사용하여 전송할 버전을 결정하는지 알려줄 수 있습니다(그리고 이는 프록시가 캐시된 리소스의 어떤 버전을 전송할지 결정할 때 어떤 헤더를 사용해야 하는지를 암시적으로 알려줍니다).
일반적인 사용 사례는 동일한 리소스의 압축 버전과 압축 해제 버전을 구별하는 것입니다. 이 경우 Vary는 다음과 같습니다.
수락-인코딩
서버 응답의 헤더는 캐시에 값을 사용하도록 지시합니다. 수락-인코딩
클라이언트 요청의 헤더를 확인하여 어떤 버전을 제공할지 결정합니다.
NGINX Plus는 이제 동일한 리소스의 여러 변형을 올바르게 캐시하기 위한 Vary
헤더를 완벽하게 지원합니다. 이 기능은 NGINX 1.7.7에서 도입되었습니다.
클라이언트는 요청에서 적절한 바이트 범위를 지정하여 파일의 특정 부분(예: 비디오 다운로드의 세그먼트 또는 PDF 문서의 페이지)을 가져올 수 있습니다. NGINX Plus는 이러한 요청을 준수하고 콘텐츠의 원본 서버가 바이트 범위를 지원하지 않더라도 캐시된 자산에서 클라이언트로 바이트 범위를 전달할 수 있습니다.
NGINX Plus가 처음으로 파일(전체 파일 또는 바이트 범위)에 대한 요청을 받으면 원본 서버에 전체 파일을 요청하고 캐시합니다. NGINX Plus는 캐시에서 바이트 범위 요청을 충족합니다. 이렇게 하면 업스트림(원본) 서버의 부하가 줄어듭니다.
이 기능은 NGINX 1.7.7에서 도입되었으며 proxy_force_ranges
지시어를 통해 활성화됩니다.
새로운 proxy_limit_rate
지시어는 NGINX Plus가 업스트림 서버에서 데이터를 읽는 속도를 제한합니다. 이를 통해 하나의 큰 요청이 NGINX와 원본 서버 간의 모든 대역폭을 소모하는 것을 방지할 수 있습니다. 캐싱이 활성화되면 콘텐츠가 디스크 캐시에 쓰여지는 속도를 효과적으로 제어할 수 있으며, 이는 디스크에서 쓰기 지연 시간이 긴 경우에 유용합니다.
이 지침은 NGINX 1.7.7에서 도입되었습니다.
타사 RTMP 모듈 이 NGINX Plus Extras 패키지에 추가되었습니다.
NGINX Plus는 이제 Ubuntu 14.10, Ubuntu 14.04의 ARMv8(aarch64), SUSE Linux Enterprise Server 12에서 사용할 수 있습니다.
NGINX Plus 고객 여러분께서 가능한 한 빨리 릴리스 5로 업데이트하시기를 강력히 권장합니다. 여러분은 많은 수정 사항과 개선 사항을 접하게 될 것이고, 여러분이 지원 티켓을 제출해야 할 경우 우리가 여러분을 도울 수 있을 것입니다. 설치 및 업그레이드 지침은 고객 포털 에서 확인할 수 있습니다.
NGINX Plus를 사용해 본 적이 없다면 오늘 무료 30일 체험판을 시작하여 NGINX Plus가 어떻게 애플리케이션을 확장하고 제공하는 데 도움이 될 수 있는지 알아보세요.
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."