upstream 3

nginx proxy hierarchy

nginx proxy를 이용해 많은 contents를 cache할려면, 아래와 같은 hierarchy구조를 고려하여야 한다. my (edge cache server)의 disk 의 용량이 한계가 있기 때문에 아래와 같이 relay 계층을 추가하고, consistance hash구조로 만들면 relay-my에는 서로다른 contents를 수용할 수 있어 분산처리 및 많은 contents를 보유한 서비스에 대한 cache 효율을 높일 수 있다. 아래와 같이 edge서버에는 my.conf 에 proxy_pass http://relay-my를 추가하고, upstream블락에 consistant hash를 구성하면 3개의 서버로 트래픽 분산 및 서버추가 삭제가 용의하다. 이때 relay서버의 hash를 $host..

nginx 2023.06.19

nginx upstream module - part2

server address [parameters]; server directive는 서버의 address및 기타 parameter를 정의합니다 . address는 port를 포함한 도메인 이름 또는 IP 주소로 지정하거나, “unix:” prefix 뒤에 UNIX-domain socket path 를 지정할 수 있습니다. port 를 지정하지 않으면 포트 80이 사용됩니다. domain name lookup 시 다수의 서버가 lookup될 경우, 도메인 이름으로 지정하면 한 번에 여러 서버를 지정할 수 있습니다. 사용할 수 있는 parameter는 다음과 같습니다. ■ weight= upstream backend { server backend1.example.com weight=5; server back..

nginx 2023.06.19

nginx upstream module - part1 (load balancing)

nginx에는 proxy_pass지시자로 원본서버(upstream서버)로 traffic을 보낼 수 있는데 upstream 모듈을 사용하면 다양한 형태로 upstream을 구성할 수 있다. server { listen 80; server_name my; location / { proxy_cache my_zone; proxy_cache_key $host$uri$is_args$args; proxy_pass http://org; add_header X-CACHE-STATUS $upstream_cache_status; } } 위 구성은 proxy_pass로 http://org을 지정하고 있고, 이는 nginx 가 loading될 때 dns lookup을 통해 획득한 IP로 트래픽을 보내게 된다. 현재 서버구성은 ..

nginx 2023.06.15
반응형