메뉴 건너뛰기

(*.65.68.117) 조회 수 690 추천 수 0 댓글 0
Atachment
첨부 '2'
Extra Form
출처 https://www.didim365.com/blog/20200526-blog-2/

톰캣 세션 클러스터링(Tomcat Session Clustering)

2020년 5월 26일

1.jpg

톰캣 세션 클러스터링(Tomcat Session Clustering)

① 1대 서버에서 WEB과 WAS를 같이 사용하는 방법과 
② LB 1대 WEB, WAS 각 2대씩 사용하는 방법에 대해 알아보겠습니다.

톰캣 세션 클러스터링이란?

세션 클러스터링은 WAS가 2대 이상 설치되어 있을 경우 동일한 세션으로 세션관리 하는 것을 의미합니다. 보통 세션 클러스터링은 WAS 설정으로 세팅할 수 있습니다. Tomcat에서 조차도 세션 클러스터링을 설정하는 방법이 있습니다.

테스트 버전 : CentOS 6.9 64bit, Apache(2.2.13), Tomcat(7.0), JDK(1,7)

1. Tomcat2 생성

# cd /usr/local/ 
# cp aurp tomcat tomcat2 
# vi /usr/local/tomcat2/bin/catalina.sh #아래 내용 추가 
###### Tomcat2 PATH ####### 
CATALINA_BASE=/usr/local/tomcat2 
CATALINA_HOME=/usr/local/tomcat2 
CATALINA_TMPDIR=/usr/local/tomcat2/temp 
JRE_HOME=/usr/local/java 
# vi /usr/local/tomcat2/conf/server.xml #아래 포트 변경 
<Server address="127.0.0.1" port="8006" shutdown="SHUTDOWN"> 
<Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8444" 
               URIEncoding="UTF-8"/> 
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />  
기존 tomcat 포트에서 +1로 숫자 변경 
예시) tomcat : 8005, 8080, 8009, tomcat2 : 8006, 8081, 8010 
# /usr/local/tomcat/bin/catalina.sh start 
# netstat -nlp | grep 8081 
# vi /usr/local/tomcat/conf/web.xml  
아래 부분 주석 제거  
<!-- 
<welcome-file-list> 
        <welcome-file>index.html</welcome-file> 
        <welcome-file>index.htm</welcome-file> 
        <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
--> 
고양이 그림 확인 후 다시 주석 처리 

2. 로드밸런서 설정

# vi /usr/local/apache/conf/workers.properties #아래 내용 추가 
worker.list=loadbalancer   #실제 사용할 tomcat 인스턴스 리스트 
worker.loadbalancer.type=lb  # loadbalancer 타입 
worker.loadbalancer.balanced_workers=tomcat1,tomcat2  #loadbalancer tomcat list 
worker.loadbalancer.sticky_session=1  #세션 유지를 위해 WAS에 지속해서 접근 
 
worker.tomcat1.type=ajp13  #web<->was ajp3 통신 
worker.tomcat1.host=localhost  
worker.tomcat1.port=8009  #tomcat Connector Port :8009 
worker.tomcat1.lbfactor=1  #작업 비율 
 
worker.tomcat2.type=ajp13  #web<->was ajp3통신 
worker.tomcat2.host= localhost 
worker.tomcat2.port=8010  #tomcat Connector Port :8010 
worker.tomcat2.lbfactor=1  #작업 비율 
# vi /usr/local/apache/conf/vhosts.conf 
<VirtualHost *:80> 
     ServerName 서버IP 
     DocumentRoot /home/WAS1/www 
     JkMount /*.do loadbalancer #.do 파일은 로드밸런서가 처리 
     JkMount /*.jsp loadbalancer #.jsp 파일은 로드밸런서가 처리 
</VirtualHost> 
# vi /usr/local/tomcat/conf/server.xml #아래 내용 추가 
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> 
# vi /usr/local/tomcat2/conf/server.xml #아래 내용 추가 
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"> 

3. 세션 클러스터링 설정

# vi /usr/local/tomcat/conf/server.xml #주석 처리된 ‘Cluster’ 아래에 내용 추가 
# vi /usr/local/tomcat2/conf/server.xml #주석 처리된 ‘Cluster’ 아래에 내용 추가 
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> 
     <Manager className="org.apache.catalina.ha.session.DeltaManager" 
           expireSessionsOnShutdown="false" 
     notifyListenersOnReplication="true"/> 
  <Channel className="org.apache.catalina.tribes.group.GroupChannel"> 
    <Membership className="org.apache.catalina.tribes.membership.McastService" 
                      address="228.0.0.4" 
                      port="45564" 
                      frequency="500" 
                      dropTime="3000"/> 
          <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
                    address="auto" 
                    port="4000" #tomcat2 4001 (+1 증가) 
                    autoBind="100" 
                    selectorTimeout="5000" 
                    maxThreads="6"/> 
 
          <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> 
            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> 
          </Sender> 
          <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> 
          <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> 
        </Channel> 
 
        <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
               filter=".*\.gif|.*\.js|.*\.jpeg|.*\.jpg|.*\.png|.*\.htm|.*\.html|.*\.css|.*\.txt"/> 
        <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> 
 
        <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 
                  tempDir="/tmp/war-temp/" 
                  deployDir="/tmp/war-deploy/" 
                  watchDir="/tmp/war-listen/" 
                  watchEnabled="false"/> 
        <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" /> 
        <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener" /> 
      </Cluster> 
# vi /usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml #</web-app> 위에 아래 내용 추가 
<distributable/> 
‘WEB-INF’ 폴더를 위에서 설정한 Tomcat 디렉토리 경로에 복사 
예시) tomcat : /home/tripod/tomcat1, tomcat2 : /home/tripod/tomcat2 
# cp -aurp WEB-INF /home/tripod/tomcat1 
# cp -aurp WEB-INF /home/tripod/tomcat2 

4. Apache, tomcat 재시작

# /usr/local/apache/bin/apachectl restart 
# /usr/local/tomcat/bin/catalina.sh restart 
# /usr/local/tomcat2/bin/catalina.sh restart 

5. Tomcat Session Clustering test

A. “Tomcat Session Clustering Test” 아래 내용 참고하여 index.jsp 파일 생성

<%@ page contentType="text/html; charset=euc-kr" %> 
 <%  
System.out.println( "Session ID : " + session.getId() );  
 %> 
<HTML> 
<HEAD> 
    <TITLE>Session Clustering Test</TITLE> 
</HEAD> 
<BODY> 
<h1>Session Clustering Test</h1> 
<% 
    Integer ival = (Integer)session.getAttribute("_session_counter"); 

    if(ival==null) { 
        ival = new Integer(1); 
    } 
    else { 
        ival = new Integer(ival.intValue() + 1); 
    } 
    session.setAttribute("_session_counter", ival); 
    System.out.println("here~~~~"); 
%> 
Session Counter = [<b> <%= ival %> </b>]<p> 
<a href="./sc.jsp">[Reload]</a> 
<p> 
Current Session ID : <%= request.getRequestedSessionId() %><br /> 
 
 
<center><h3>[ 세션 정보를 얻어오는 메소드를 사용한 예제 ]</h3></center> 
<hr> 
<% 
String id_str=session.getId(); 
long lasttime=session.getLastAccessedTime(); 
long createdtime=session.getCreationTime(); 
long time_used=(lasttime-createdtime)/60000; 
int inactive=session.getMaxInactiveInterval()/60; 
boolean b_new=session.isNew(); 
%> 
 
[1] 세션 ID는 [<%=session.getId()%>] 입니다.<br><hr> 
[2] 당신의 웹사이트에 머문 시간은 <%=time_used%> 입니다.<br><hr> 
[3] 세션의 유효시간은 <%=inactive%> 분입니다.<br><hr> 
[4] 세션이 새로 만들어 졌나요?<br><hr> 
<% 
if(b_new) 
 out.println("예 !! 새로운 세션을 만들었습니다.");  
else 
 out.println("아니오 !! 새로운 세션을 만들지 않았습니다."); 
%> 
<hr>
</BODY> 
</HTML>

B. Session Clustering 확인

http://서버IP/index.jsp 접속

C. Current Session ID : E34CA3BFD1A71D68A3CB6D03CA8D97D3.tomcat2 마지막 Tomcat2 확인

※ Tomcat2번으로 연결된 것

D. tomcat2 중지

※ C번에서 Tomcat1 확인 시 Tomcat1번 중지

E. http://서버IP/index.jsp새로 고침 후 ‘Current Session ID’ 확인 시 세션 값이 기존과 동일하고 Tomcat1 확인

Current Session ID : E34CA3BFD1A71D68A3CB6D03CA8D97D3.tomcat1 마지막 Tomcat1 확인

※ 세션 값 동일 Tomcat2번에서 Tomcat1번으로 변경된 것 확인

F. 반대로 Tomcat1번 중지 후 Tomcat2번 실행 시 E번 내용과 일치 여부 확인

② LB 1대 WEB, WAS 각 2대씩 사용하여 Tomcat Session Clustering 설정 방법

테스트 환경 : LB 1대, WEB 2대, WAS 2대

※ 각 서버에는 Apache 및 Tomcat 환경이 구성되었다는 전제로 진행

WEB : Apache2.4 WAS : JAVA1.8, Tomcat8.X

1. WEB 서버 설정 (2대 공통)

workers.properties 설정 (내용 추가) 
# vi /usr/local/apache/conf/workers.properties 
worker.list=loadbalancer   #실제 사용할 tomcat 인스턴스 리스트 
worker.loadbalancer.type=lb  # 
worker.loadbalancer.balanced_workers=tomcat1,tomcat2  #loadbalancer tomcat list 
worker.loadbalancer.sticky_session=1  #세션 유지를 위해 WAS에 지속해서 접근 
 
worker.tomcat1.type=ajp13  #web<->was ajp3통신 
worker.tomcat1.host=172.27.1.3  #WAS1 서버 IP 
worker.tomcat1.port=8009  #tomcat Connector Port :8009 
worker.tomcat1.lbfactor=100  #작업 비율 
 
worker.tomcat2.type=ajp13  #web<->was ajp3통신 
worker.tomcat2.host=172.27.0.81  #WAS2 서버 IP 
worker.tomcat2.port=8010  #tomcat Connector Port :8010 
worker.tomcat2.lbfactor=100  #작업 비율 

2. httpd.conf 설정 (내용 추가)

# vi /usr/local/apache/conf/httpd.conf 
<IfModule mod_jk.c> 
JkWorkersFile conf/workers.properties  #mod_jk 설정 파일 및 위치 
JkLogFile logs/mod_jk.log  #mod_jk 로그 위치 
JkShmFile logs/mod_jk.shm 
JkLogLevel error 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "  #로그파일 포맷 형식 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 
JkRequestLogFormat "%w %V %T"    #로그파일 포맷 형식 
</IfModule> 

3. vhosts.conf 설정 (내용 추가)

# vi /usr/local/apache/conf/vhosts.conf 
<VirtualHost *:80> 
DocumentRoot "/usr/local/tomcat/webapps/ROOT" 
ServerName 211.253.25.96  #웹서버 IP 
JkUnmount /index.html loadbalancer  #index.html Apache 처리 
 JKMount /* loadbalancer  #JkUnmount 값을 제외한 모든 확장자 tomcat 처리 
</VirtualHost> 

4. WAS 서버 설정 (2대 공통)

#vi /usr/local/tomcat/conf/server.xml 설정 (내용 추가) 
- jvmRoute 설정 추가 (mod_jik 커넥터에서 톰캣 프로세스를 구분하는데 사용) 
설정 전 : <Engine name="Catalina" defaultHost="localhost"> 
설정 후 : <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> 
         <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"> 
 
- Cluster 설정 추가 (Cluster className 부분 밑에다 아래 내용 삽입) 
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 
channelSendOptions="8"> 
 
<Manager className="org.apache.catalina.ha.session.DeltaManager" 
expireSessionsOnShutdown="false" 
notifyListenersOnReplication="true"/> 
 
<Channel className="org.apache.catalina.tribes.group.GroupChannel"> 
<Membership className="org.apache.catalina.tribes.membership.McastService" 
address="224.0.0.116" # 116 ~ 205 Port 사이 설정 권장 
port="45564" 
frequency="500" 
dropTime="3000"/> 
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" 
address="172.27.1.3"  # tomcat IP 
port="4010"  # 4000 ~ 4100 Port 사이 설정 권장 
autoBind="100" 
selectorTimeout="100" 
maxThreads="6"/> 
 
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> 
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> 
</Sender> 
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> 
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> 
</Channel> 
 
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" 
filter=""/> 
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> 
 
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" 
tempDir="/tmp/war-temp/" 
deployDir="/tmp/war-deploy/" 
watchDir="/tmp/war-listen/" 
watchEnabled="false"/> 
 
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> 
        </Cluster> 

5. web.xml 설정 (내용 추가)

# vi /usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml 
Session Clustering을 위해 프로젝트 web.xml에 반드시<distributable/>설정을 넣어야 함 
※ 제일 마지막 </web-app> 바로 위에 삽입 
<distributable/> 
</web-app> 

6. Tomcat Session Clustering 구성 확인

→ Session Clustering 확인 절자

WAS 2대 Tomcat start log 확인

아래와 같이 각 WAS 서버에서 로그 확인 시 멤버 추가 로그와 IP, Port 확인

– WAS01 (IP : 172.27.1.3)

17-May-2017 21:07:22.416 INFO [Membership-MemberAdded.] org.apache.catalina.ha.tcp.SimpleTcpCluster.memberAdded Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 27, 0, 81}:4011,{172, 27, 0, 81},4011, alive=19538, securePort=-1, UDP Port=-1, id={35 -123 -62 23 10 -31 73 -5 -78 -89 2 -41 41 84 105 -57 }, payload={}, command={}, domain={}, ]

– WAS02 (IP : 172.27.0.81)

17-May-2017 21:07:23.127 INFO [Membership-MemberAdded.] org.apache.catalina.ha.tcp.SimpleTcpCluster.memberAdded Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 27, 1, 3}:4010,{172, 27, 1, 3},4010, alive=1019, securePort=-1, UDP Port=-1, id={-15 -5 -50 50 41 119 73 -57 -89 103 25 62 3 -100 -77 -108 }, payload={}, command={}, domain={}, ]

7. Tomcat Session Clustering Test

A. “Tomcat Session Clustering Test” 아래 내용 참고하여 index.jsp 파일 생성

<%@ page contentType="text/html; charset=euc-kr" %> 
 <%  
System.out.println( "Session ID : " + session.getId() );  
 %> 
<HTML> 
<HEAD> 
    <TITLE>Session Clustering Test</TITLE> 

</HEAD> 
<BODY> 
<h1>Session Clustering Test</h1> 
<% 
    Integer ival = (Integer)session.getAttribute("_session_counter"); 

    if(ival==null) { 
        ival = new Integer(1); 
    } 
    else { 
        ival = new Integer(ival.intValue() + 1); 
    } 
    session.setAttribute("_session_counter", ival); 
    System.out.println("here~~~~"); 
%> 
Session Counter = [<b> <%= ival %> </b>]<p> 
<a href="./sc.jsp">[Reload]</a> 
<p> 
Current Session ID : <%= request.getRequestedSessionId() %><br /> 
 
<center><h3>[ 세션 정보를 얻어오는 메소드를 사용한 예제 ]</h3></center> 
<hr> 
<% 
 
String id_str=session.getId(); 
 
long lasttime=session.getLastAccessedTime(); 
 
long createdtime=session.getCreationTime(); 
  
long time_used=(lasttime-createdtime)/60000; 
 
int inactive=session.getMaxInactiveInterval()/60; 
 
boolean b_new=session.isNew(); 
%> 
 
[1] 세션 ID는 [<%=session.getId()%>] 입니다.<br><hr> 
[2] 당신의 웹사이트에 머문 시간은 <%=time_used%> 입니다.<br><hr> 
[3] 세션의 유효시간은 <%=inactive%> 분입니다.<br><hr> 
[4] 세션이 새로 만들어 졌나요?<br><hr> 
<% 
if(b_new) 
 out.println("예 !! 새로운 세션을 만들었습니다.");  
else 
 out.println("아니오 !! 새로운 세션을 만들지 않았습니다."); 
%> 
<hr>
</BODY> 
</HTML>

B. Session Clustering 확인

http://LBIP/index.jsp 접속

→ WEB서버 상단에는 LB가 있으므로 LB IP로 접근하여 확인

2.png

1. WEB 서버 2대는 LB로 이중화 되어있으므로 1대 서버에 장애가 발생하여도 Session은 동일

2. WAS 서버 2대 또한 mod_jk 설정으로 이중화 되어있으므로 1대 서버에 장애가 발생하여도 Session은 동일

※ Tomcat 8.x 특이사항

톰캣 8.x 버전에서 server.xml 중 아래 옵션 넣을 시 실행 에러가 발생하고 있습니다.

8.x 버전 넘어오면서 없어진 라이브러리로 확인되며 해당 옵션 없어도 클러스터링 정상 동작

<Interceptor className=”org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor”/>


  1. JAVA APM Scouter 활용 - 2부 스카우터 기능 활용 및 페이퍼 플...

    1부 APM 선정과 스카우터의 지표소개 2부 스카우터 기능 활용 및 페이퍼 플러그인 3부 스카우터 얼럿 플러그인 커스터마이징 이번 내용에서는 스카우터 클라이언트를 본격적으로 사용하면서 알면 도움이 되는 내용을 주로 다루려고 한다. 수집된 지표를 보기위...
    Date2024.06.26 Reply0 Views506 file
    Read More
  2. JAVA APM Scouter 활용 - 1부 APM 선정과 스카우터의 지표 소개

    JAVA 기반 서비스에서 운영할수 있는 APM Tool 을 선정하는 과정에서 스카우터를 선택하고 구성을 마친 경험을 다루어 보려고 한다. 1부 APM 선정과 스카우터의 지표 소개 2부 스카우터 기능 활용 및 페이퍼 플러그인 3부 스카우터 얼럿 플러그인 커스터마이징...
    Date2024.06.26 Reply0 Views487 file
    Read More
  3. [log분석]AWK, 톰캣 Accesslog 통계 count 추출 (feature awk g...

    AWK AWK(오크; Aho Weinberger Kernighan)는 유닉스에서 처음 개발된 일반 스크립트 언어이다. AWK의 기본 기능은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것이다. AWK라는 이름은 이 스크립트 언어를 만든 앨프리드 에이호, 피...
    Date2024.06.19 Reply0 Views464
    Read More
  4. 프론트엔드 프레임워크 Angular / React / Vue / Svelte

    프론트엔드 프레임워크 Angular / React / Vue / Svelte Stackoverflow Ranking에서 여러 프로그래밍 언어 및 프레임워크에 대한 점유율, 선호도 등 자세한 정보는 확인하실 수 있습니다. 해당 정보에 따르면 웹 프레임워크의 점유율은 아래 그래프와 같습니다...
    Date2024.05.08 Reply0 Views655 file
    Read More
  5. Microsoft Visual Studio 역대 버전

    Microsoft Visual Studio 역대 버 1. 개요2. 특징3. 시스템 요구 사항4. 역대 버전4.1. Visual Studio 97 (5.0)4.2. Visual Studio 6.04.3. Visual Studio.Net (2002) (7.0)4.4. Visual Studio.Net 2003 (7.1)4.5. Visual Studio 2005 (8.0)4.6. Visual Studio...
    Date2023.03.06 Reply0 Views495 file
    Read More
  6. ‘무능, 순진, 방만, 아집...' 소프트웨어 개발 죄악 7가지

    무능, 순진, 방만, 아집...' 소프트웨어 개발 죄악 7가지 2023.10.10 Peter Wayner | InfoWorld 잘못된 방법론 선택부터 최신 트렌드에 지나치게 집착하는 것까지, 훌륭한 앱 개발팀의 결과물도 때때로 우리 스스로가 되돌릴 수 없는 경향, 유혹, 습관으로 인...
    Date2023.03.06 Reply0 Views425 file
    Read More
  7. No Image

    우리가 알던 프로그래밍의 종말, 개발자의 새 역할은

    우리가 알던 프로그래밍의 종말, 개발자의 새 역할은 인공지능(AI)은 점점 더 많은 소프트웨어 개발 작업을 수행하고 있다. 개발자는 앞으로 코딩 도구보다 교육 모델을 더 많이 사용하게 될 것으로 보인다. 새 시대의 개발자는 AI의 작업을 감독하고, 빈틈을 ...
    Date2023.03.06 Reply0 Views410
    Read More
  8. No Image

    내가 Visual C++ 6.0 아직도 쓰는 이유

    내가 Visual C++ 6.0 아직도 쓰는 이유 “VC++ 6.0을 쓰지 말아야하는 이유(http://minjang.egloos.com/1783328)” 라는 글을 읽고나서도 나는 별로 VC++ 6를 버리고 싶은 생각이 들지 않는다. 난 VC++ 6가 더 손에 착착 붙으니까. 익숙하지 않은 툴을 쓸 때의 ...
    Date2023.03.06 Reply0 Views523
    Read More
  9. No Image

    VC++ 6.0을 쓰지 말아야하는 이유

    원문 : http://minjang.egloos.com/1783328 나는 아직 Visual Studio(이하 VS)6.0과 2005를 함께 이용한다. 학창시절 C언어를 처음 배울때 6.0으로.. 그리고 군 제대후 복학 했을때 2005를 사용하면서 자연스럽게 몸에 익었기 때문에 익숙한 IDE를 계속 사용해...
    Date2023.03.06 Reply1 Views551
    Read More
  10. No Image

    Visual Studio 6.0 Enterprise 설치 - valec.exe 에러

    Q. 'C:\program Files\Microsoft Visual studio\common\tools\VS-Ent98\Vanalyzr\valec.exe"를 등록하기 위한 DCOM 사용자 계정을 만들지 못하였습니다. A. Visual Studio 6.0의 버그 입니다. Visual Studio Analyzer는 엔터프라이즈 에디션에서 필요한 사항 ...
    Date2023.03.06 Reply0 Views441
    Read More
  11. No Image

    [JAVA 프로그래밍.min] 9강.전자정부 표준프레임워크 / 공통컴...

    프롬달 - 전자정부프레임워크 https://www.youtube.com/@user-xk5on6cp4v nsdclipdown||https://www.youtube.com/watch?v=eEpd7N4mf2I [JAVA 프로그래밍.min] 9강.전자정부 표준프레임워크 / 공통컴포넌트 코드 리뷰 / 공통 분류 코드 Part1
    Date2023.04.02 Reply0 Views377
    Read More
  12. egovframework:dev2:svrinstall]] 서버 개발환경 설치가이드

    개발환경 - 3.x 다운로드 https://www.egovframe.go.kr/home/sub.do?menuNo=34 egovframework:dev2:svrinstall]] 서버 개발환경 설치가이드 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev2:svrinstall 개요전자정부 표준프레임워크에서 제...
    Date2023.04.02 Reply0 Views427
    Read More
  13. No Image

    [Spring] 전자정부 프레임워크 시작하기 (3.10)

    [Spring] 전자정부 프레임워크 시작하기 (3.10) 1. 전자정부 프레임워크 시작하기(개발 환경 다운로드 메뉴얼) 개발 환경 다운로드 메뉴얼을 보고 진행하시면 됩니다. 1.1 개발 및 실행을 구현도구 환경 정보OS: Windows 10, 7 이상 JDK: Java SE SDK 7.0 이상...
    Date2023.03.31 Reply0 Views587
    Read More
  14. No Image

    [Spring] 전자정부 프레임워크란

    [Spring] 전자정부 프레임워크란 1. 전자정부프레임워크란 (공식사이트)1.1 개발프레임워크개발프레임워크는 정보시스템 개발을 위해 필요한 기능 및 아키텍처를 미리 만들어 제공함으로써 효율적인 어플리케이션 구축을 지원합니다. 전자정부 프레임워크는 스...
    Date2023.03.31 Reply0 Views515
    Read More
  15. 톰캣 세션 클러스터링(Tomcat Session Clustering)

    톰캣 세션 클러스터링(Tomcat Session Clustering) 2020년 5월 26일 톰캣 세션 클러스터링(Tomcat Session Clustering) ① 1대 서버에서 WEB과 WAS를 같이 사용하는 방법과 ② LB 1대 WEB, WAS 각 2대씩 사용하는 방법에 대해 알아보겠습니다. 톰캣 세션 클러스...
    Date2023.03.16 Reply0 Views690 file
    Read More
  16. No Image

    LENA / TunA : 클라우드 기반, 어플리케이션 성능 관리 솔루션

    LENA / TunA : 클라우드 기반, 어플리케이션 성능 관리 솔루션 TunA 는 엔터프라이즈용 어플리케이션 성능 관리 솔루션으로 상용 솔루션뿐 아니라 다양한 오픈소스에 대한 모니터링을 제공하며 오픈 소스에 대한 지원을 지속적으로 늘여가고 있음.
    Date2023.03.16 Reply0 Views426 file
    Read More
  17. No Image

    LENA WEB/WAS 소개

    LENA WEB/WAS 소개 소개 LENA WEB Open Edition은 웹 어플리케이션을 안정적으로 구동할 수 있는 웹서버로 편리한 관리 기능, 안정성 및 고가용성을 위한 다양한 기능을 제공합니다. 통합관리 콘솔을 제공하여 보다 편리하고, 효율적으로 웹 어 플리케이션을 ...
    Date2023.03.16 Reply0 Views426 file
    Read More
  18. No Image

    Windows 환경에서 Jmeter 설치 및 실행

    Windows 환경에서 Jmeter 설치 및 실행 1. Jmeter 설치 http://jmeter.apache.org/download_jmeter.cgi 링크 클릭(컨트롤 클릭) -> 공식 다운로드 사이트 or 미러 사이트 에서 카프카 압축 파일 다운로드 -> 압축 해제 -> 1.png Jmeter 설치 경로 -> bin -> jm...
    Date2023.03.06 Reply0 Views610
    Read More
  19. No Image

    SPAMOUT - Anti Spam & Mail Auditing 솔루션 (넷엔씨큐)

    SPAMOUT - Anti Spam & Mail Auditing 솔루션 (넷엔씨큐) 2.PNG SPAMOUT은 유입되는 스팸 및 악성코드 메일을 차단하고 이를 통해서 메일서버를 보호하고 네트워크. 트래픽을 적절하게 관리할 수 있습니다.
    Date2023.03.06 Reply0 Views356
    Read More
  20. No Image

    행정정보공동이용시스템

    행정정보공동이용시스템.PNG 행정정보공동이용이란? ○ 행정기관, 공공기관, 금융기관, 교육기관 등이 정보들을 서로 공유하여 업무를 전자적으로 처리함으로써 국민에게는 민원 편의성을, 정부차원에서는 효율적인 행정을 할 수 있는 전자정부의 핵심 서비스 ○...
    Date2023.03.06 Reply0 Views398
    Read More
목록
Board Pagination Prev 1 2 3 4 5 Next
/ 5