[JBoss EAP 공통] 라우팅 노드 설정
본문 바로가기
IT 이야기/JBoss EAP

[JBoss EAP 공통] 라우팅 노드 설정

by 찬찬이 아빠 2020. 10. 20.
반응형

JBoss Sticky 로드 밸런싱이란 로드 밸런서(L4 또는 웹서버의 웹 커넥터(mod-jk)에서 HTTP 요청 전달 시 세션이 없을 때는 Round-Robin 방식으로 요청을 각 노드에 분배하고, 세션이 만들어지면 그때부터 해당 사용자로부터 오는 모든 요청을 세션이 만들어진 노드로 계속 전달하는 방식을 말합니다.

 

Web 서버에서 오는 HTTP 요청에 jsessionid 쿠키가 없거나(세션이 만들어지지 않았거나), jsessionid 쿠키에 세션을 발급한 호스트가 명시되어 있지 않으면 load balancer worker가 설정된 로드 밸런싱 알고리즘에 따라 요청을 각 노드에 분배하지만, jsessionid 쿠키에 세션을 발급한 호스트가 명시되어 있으면 항상 세션이 만들어진 노드로 HTTP 요청을 전달합니다.

 

WAS 서버 fail-over 시에도 JBoss EAP에서는 Sticky 로드 밸런싱을 유지하기 위해서 jvmRoute를 사용하여 세션 ID를 만들고 새로운 세션을 만들어 새롭게 맺어진 서버로 HTTP 요청을 전달합니다.

 

WAS 서버의 각 노드별 라우팅 노드 설정은 $JBOSS_HOME/domains/노드명/bin/env.properties 파일에서 설정합니다.

jvmRoute=노드명

 

해당 라우팅 노드가 설정되고 로드 밸런싱이 정상적으로 이루어지려면 AP 소스의 web.xml 파일에서 <distributable/> 설정이 반드시 되어 있어야 합니다. 만약 web.xml 파일에 <distributable/> 설정이 없다면 로드 밸런싱은 동작하지 않습니다.

 

각 WAS 서버의 노드마다 jvmRoute에 해당 노드명을 명시해 두면 새로운 세션을 만드는 과정이 생략되어 HTTP 요청이 빠르게 처리될 수 있습니다. 또한 이중화로 구성된 WAS 서버중 하나의 서버가 중단되더라도 JBoss EAP에서는 jvmRoute를 사용하여 새로운 세션ID를 만들어 세션을 유지할 수 있습니다.

반응형

댓글