전자상거래 플랫폼을 마케팅할 때 대규모 트래픽 문제에 직면하는 경우가 많습니다. 트래픽 전환 외에도 사용자 블랙리스트 및 화이트리스트 및 평판 분석을 수행한 후 해당 트래픽 차단 및 트래픽 제한을 수행해야 할 수도 있습니다. 사용자의 IP 평판 가중치.
Nginx 자체 요청 제한 모듈 ngx_http_limit_req_module과 흐름 제한 모듈 ngx_stream_limit_conn_module은 토큰 비율을 편리하게 제어할 수 있는 토큰 버킷 알고리즘을 기반으로 합니다. , 기본 전류 제한 제어를 달성하려면 전류 제한을 사용자 정의하십시오.
알고리즘 아이디어는 다음과 같습니다.
토큰은 고정 비율이며 토큰 버킷에 캐시됩니다.
토큰 버킷이 가득 차면 초과 토큰이 삭제됩니다.
요청은 동일한 비율의 토큰을 사용해야 합니다. 처리됨 ;
토큰이 충분하지 않으면 요청이 캐시됩니다.
누수 버킷 알고리즘:
알고리즘 아이디어는 다음과 같습니다. 🎜 🎜#
물(요청)을 위에서 물통에 붓고 물통 아래에서 흘러나온다(가공) 시간이 지나도 흘러나오지 못하는 물은; 버킷(버퍼)에 저장되어 유출 속도가 고정됩니다. 버킷이 가득 차면 물이 넘칩니다(폐기). 이 알고리즘의 핵심은 요청을 캐싱하고 일정한 속도로 처리하며 중복된 요청을 직접 삭제하는 것입니다.Nginx 공식 버전에는 IP 연결과 동시성을 제한하는 두 개의 모듈이 있습니다.
limit_req_zone은 단위당 요청 수를 제한하는 데 사용됩니다. 즉, 속도 제한은 Leaky Bucket 알고리즘인 "Leaky Bucket"을 사용합니다. limit_req_conn은 동시에 연결 수, 즉 동시성 제한을 제한하는 데 사용됩니다. 더 많은 Nginx 관련 기술 기사를 보려면Nginx 사용 튜토리얼 열을 방문하여 알아보세요!
위 내용은 nginx 흐름을 제한하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!