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

로그인하면 댓글을 남길 수 있습니다.
  • websocket_설정_방법.txt
  • 마지막으로 수정됨: 2017/07/24 19:35
  • 저자 koov