본문 바로가기
WAS/WEBLOGIC

17. weblogic 클러스터링

by coldplayer83 2023. 7. 6.
728x90

 클러스터 생성

!! 클러스터의 대상 서버가 기존 서버일 경우, 해당 서버는 shutdown 상태여야 함

 

1. 어드민 서버만 기동하고 콘솔 접속

 

2. 잠금 및 편집 - 환경 - 클러스터 - 새로만들기 - 클러스터 - 이름 설정 후 확인


3. 환경 - 서버에서 클러스터링할 대상 서버 선택

구성 - 일반 탭에서 클러스터를 위에서 생성한 클러스터로 설정 후 저장 - 변경 내용 활성화 

 

4. weblogic.xml 설정

일반 클러스터)

<weblogic-web-app>
    <session-descriptor>
        <persistent-store-type>replicated_if_clustered</persistent-store-type>
    </session-descriptor>
</weblogic-web-app>

 

동적 클러스터)

<weblogic-web-app>
    <jsp-descriptor>
        <page-check-seconds>1</page-check-seconds>
    </jsp-descriptor>
    <container-descriptor>
        <resource-reload-check-secs>1</resource-reload-check-secs>
        <servlet-reload-check-secs>1</servlet-reload-check-secs>
    </container-descriptor>
</weblogic-web-app>

 

5. 클러스터링 대상 서버 기동

 

6. 간혹 재기동하여도 배치한 어플리케이션이 업데이트가 되지 않는 경우가 있어서 배치 업데이트 실행(선택사항)

 

7. 환경 - 클러스터 - 클러스터 선택 - 모니터링 - 복구탭에서 세션 정보 확인

 

※ 클러스터링 된 서버의 동작

클러스터링 된 서버를 DynamicServerList OFF로 사용시 하나의 인스턴스로의 요청만 실패해도 CONNECTION_REFUSED 에러가 찍히는 게 맞음

단, 하나의 인스턴스라도 running 상태라면 요청은 정상적으로 처리되어야 함

 


 

동적 클러스터링

동적으로 다른 서버를 클러스터 멤버에 추가하거나 제거하는 것이 가능

클러스터에 추가된 서버는 클러스터 그룹에 바로 참여하여 업무 수행이 가능하며, 클러스터 멤버가 변경되는 상태에서도 세션 정보를 유지할 수 있음

 

설정 방법)

1) 환경 - 클러스터 - 대상 클러스터 선택

 

2) 구성 - 서버 - 하단의 추가 클릭

 

3) 추가할 서버 선택 후 완료

 

참조 : https://blog.naver.com/PostView.nhn?blogId=cspark2314&logNo=221907904407

 

[Linux] WebLogic Clustering

● 로드 밸런싱 : 웹서버(Apache, Sun One, IIS 등)에 제공하는 플러그인 모듈을 통하여 Back-End...

blog.naver.com

 


 

세션 테스트)

 

web.xml

<web-app />

 

 

session.jsp

<%@page language="java" contentType="text/html; charset=utf-8"%>
<html>
	<%
		session = request.getSession(true);
		Integer ssCnt = (Integer) session.getAttribute("count");
		if (ssCnt == null) ssCnt = new Integer(1);
		else ssCnt = new Integer(ssCnt.intValue() + 1);
		session.setAttribute("count", ssCnt);
		Integer cnt = (Integer) application.getAttribute("count");
		if (cnt == null) cnt = new Integer(1);
		else cnt = new Integer(cnt.intValue() + 1);
		application.setAttribute("count", cnt);
		System.out.println(ssCnt);
	%>
	<body>
		<h3>Request Info</h3>
			Request Count : <%= cnt %>
		<h3>Session Info</h3>
			Session ID : <%= session.getId() %><br>
			Session Count : <%= ssCnt %><br>
			Session Created Time : <%= new
			java.util.Date(session.getCreationTime()).toString() %><br>
			Session Last Accessed Time : <%= new
			java.util.Date(session.getLastAccessedTime()).toString() %><br>
	</body>
</html>

'WAS > WEBLOGIC' 카테고리의 다른 글

19. weblogic.xml  (0) 2023.07.12
18. weblogic 삭제  (0) 2023.07.12
16. DataSource 생성  (0) 2023.07.06
15. 암호화된 계정 정보 복호화  (0) 2023.07.06
14. 관리자 계정 설정  (0) 2023.07.05