Sun Java System Web Server 7.0 Update 3 관리자 설명서

세션 복제

세션 복제는 세션에 저장된 데이터를 다른 인스턴스에 복제하는 데 사용되는 기법입니다. 하지만 복제된 인스턴스는 동일한 클러스터의 일부여야 합니다. 클러스터 환경에서 세션 복제가 사용 가능한 경우에는 전체 세션 데이터가 복제된 인스턴스에 복사됩니다. 하지만 세션 복제 작업은 세션에 있는 일련화할 수 없는 속성과 인스턴스별 데이터를 복사하지 않습니다.

세션 복제는 로드 균형 조정과 함께 웹 응용 프로그램에 페일오버 기능을 제공합니다.

세션 복제 및 페일오버 작업

이 절에서는 세션 복제 작업에 대해 자세히 설명합니다.

웹 요청이 끝날 때 Web Server는 서버 구성 파일 server.xml에 저장된 세션 복제 구성을 통해 세션 데이터를 복사해야 하는지 여부를 결정합니다.

4개의 인스턴스가 클러스터를 이루며 Administration Server에서 세션 복제가 사용 가능한 경우를 생각할 수 있습니다.

4개의 노드에서 실행되는 4개의 인스턴스(A, B, C 및 D)로 이루어진 Web Server 클러스터에서 세션 복제 프로세스는 다음과 같습니다.

Web Server 클러스터 환경에서 페일오버 프로세스는 다음과 같습니다.

Web Server 7.0은 세션 복제에서 다음 기능을 지원하지 않습니다.

세션 복제 활성화

관리 콘솔이나 CLI를 사용하여 클러스터에서 세션 복제를 활성화할 수 있습니다. 세션 복제를 활성화하려면 브라우저에서 쿠기가 사용 가능해야 합니다.

server.xml 파일에는 세션 복제와 관련된 정보가 있습니다. 다음은 세션 복제가 활성화된 샘플 server.xml 파일입니다.

<cluster>
		<local-host>hostA</local-host>
			<instance>
         <host>hostB</host>
      </instance>
      <instance>
          <host>hostC</host>
      </instance>
       <instance>
          <host>hostD</host>
      </instance>
      <instance>
           <host>hostA</host>
    <session-replication/>
</cluster>
			

다음 요소의 기본값을 사용하는 경우에는 server.xml 구성 파일에서 이러한 요소의 항목을 사용할 수 없습니다.

Port number(기본값은 1099)

Protocol(기본값은 jrmp)

Encrypted(기본값은 false)

Getattribute Triggers Replication(기본값은 true)

Replica Discovery MaxHops(기본값은 –1)

Startup Discovery Timeout(기본값은 0. Java API를 기반으로 시스템 시간을 조정합니다. Unix 기반 운영 체제가 아닌 경우 정확도가 떨어질 수 있습니다.)

Cookie Name(기본값은 CLUSTERSESSIONLOCATOR)

이러한 세션 복제 등록 정보에 대한 자세한 내용은Sun Java System Web Server 7.0 Update 3 Administrator’s Configuration File Reference를 참조하십시오.

세션 복제를 위한 웹 응용 프로그램 구성

서버에서 세션을 복제할 수 있게 하려면 웹 응용 프로그램도 세션 복제용으로 활성화해야 합니다.

  1. 웹 응용 프로그램의 세션 복제를 활성화하려면 <web-application>/WEB-INF 디렉토리에 있는 sun-web.xml 구성 파일을 수정합니다.

    sunweb.xml에서 수정해야 할 사항은 다음과 같습니다.

    <session-manager/> 요소를 <session-manager persistence-type="replicated">로 변경합니다.

    다음은 세션 복제가 활성화된 샘플 sun-web.xml 파일입니다.

    <sun-web-app>
    		<session-config>
         <session-manager persistence-type="replicated">
         </session-manager>
      </session-config>
    </sun-web-app>
  2. sunweb.xml 파일을 수정한 후 웹 응용 프로그램을 다시 작성하거나 응용 프로그램을 JAR 파일로 다시 만들어 웹 응용 프로그램 아카이브(war 파일)를 만듭니다.

  3. 모든 인스턴스를 다시 시작하여 모든 인스턴스에서 웹 응용 프로그램을 사용할 수 있게 합니다.

  4. 웹 응용 프로그램은 클러스터의 모든 노드에서 액세스할 수 있습니다. 웹 응용 프로그램에 액세스하려면 브라우저에서 다음을 입력합니다.

    http://webserver-name/webapplication-name/


    주 –

    모든 노드에 액세스할 수 있는 디렉토리를 사용하는 것이 배포할 응용 프로그램을 저장하는 가장 좋은 방법입니다. 하지만 이 디렉토리에서 Administration Server에 액세스할 수 있어야 하는 것은 아닙니다. 크기가 1MB를 넘는 웹 응용 프로그램의 경우에는 디렉토리 기반 배포를 사용하는 것이 좋습니다.

    검색 모음을 만드는 경우 모든 노드에 액세스할 수 있는 일반 디렉토리에 검색 모음이 있어야 합니다.