websocket 설정 방법
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so <Proxy balancer://TEST_WS> BalancerMember ws://192.168.0.81:8080 route=node11 timeout=5 retry=300 BalancerMember ws://192.168.0.82:8080 route=node21 timeout=5 retry=300 ProxySet lbmethod=byrequests failontimeout=on #ProxySet stickysession=JSESSIONID|jsessionid </Proxy> <Proxy balancer://TEST_HTTP> BalancerMember http://192.168.0.81:8080 route=node11 timeout=5 retry=300 BalancerMember http://192.168.0.82:8080 route=node21 timeout=5 retry=300 ProxySet lbmethod=byrequests failontimeout=on #ProxySet stickysession=JSESSIONID|jsessionid </Proxy> RewriteEngine On RewriteCond %{HTTP:Connection} upgrade [NC] RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteRule /jboss-websocket-hello/(.*) balancer://TEST_WS/jboss-websocket-hello/$1 [P,L] ProxyPass /jboss-websocket-hello balancer://TEST_HTTP/jboss-websocket-hello ProxyPassReverse /jboss-websocket-hello balancer://TEST_HTTP/jboss-websocket-hello
timeout 옵션
해당 옵션은 balancer가 정상인지 판단하기 위한 타임아웃 시간이다. 지정된 시간동안 응답이 없는경우 해당 노드가 fail상태로 판단한다.
retry 옵션
해당 옵션은 balancer가 fail상태일때 재시도할때까지의 지연시간이다. 즉 fail상태가 되면 300초동안은 해당 노드로 요청을 하지 않다가 300초가 지나면 다시 시도하도록 한다.
ProxySet
해당 밸런서의 속성값을 정의 하는 부분이다. 위에서 정의된 예시중 lbmethod=byrequests failontimeout=on
부분은
밸런싱 메소드를 request단위로 밸런싱 하겠다는 부분과, 위의 timeout과 retry 속성을 통한 failover를 사용하겠다는 설정이다.
참조 : https://httpd.apache.org/docs/current/mod/mod_proxy.html
로그인하면 댓글을 남길 수 있습니다.