Liberty 프로파일에 대한 세션 지속성 구성

서버 다시 시작 또는 예기치 않은 서버 실패로부터 세션 데이터를 유지보수해야 하는 경우, 세션 데이터를 데이터베이스로 유지하도록 Liberty 프로파일을 구성할 수 있습니다. 이 구성에서는 다중 서버가 동일 세션 데이터를 공유할 수 있으며 세션 데이터는 장애 복구의 경우 복구될 수 있습니다.

이 태스크 정보

세션 데이터를 데이터베이스로 유지하도록 Liberty 프로파일에 하나 이상의 서버를 구성하려면, 다음 단계를 완료하십시오.

프로시저

  1. 모든 서버 간에 다시 사용될 수 있는 공유 세션 관리 구성을 정의하십시오. 최소한의 요구사항으로, 다음 단계를 완료해야 합니다.
    1. sessionDatabase-1.0 기능을 사용 가능하게 설정하십시오.
    2. 데이터 소스를 정의하십시오.
      <dataSource id="SessionDS" ... />
    3. 세션 데이터베이스 구성에서 데이터 소스를 참조하십시오.
      <httpSessionDatabase id="SessionDB" dataSourceRef="SessionDS" ... />
    4. 세션 관리 구성에서 지속적 스토리지 위치를 참조하십시오.
      <httpSession storageRef="SessionDB" ... />
    참고: httpSession 요소의 storageRef 속성과 httpSessionDatabase 요소의 id 속성은 필수가 아닙니다. sessionDatabase-1.0 기능을 사용하고 httpSessionDatabase 요소가 올바른 데이터 소스를 참조하는 경우 storageRef 속성이 설정되지 않아도 세션 지속성이 사용 가능합니다.

    httpSessionhttpSessionDatabase 요소에 관한 세부사항은 server.xml 파일의 구성 요소의 내용을 참조하십시오.

    예를 들어, 다음과 같이 ${shared.config.dir}/httpSessionPersistence.xml이라는 파일을 작성할 수 있습니다.
    <server description="Demonstrates HTTP Session Persistence Configuration">
    
        <featureManager>
            <feature>sessionDatabase-1.0</feature>
            <feature>servlet-3.0</feature>
        </featureManager>
    
        <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="${httpPort}">
            <tcpOptions soReuseAddr="true" />
        </httpEndpoint>
    
        <fileset id="DerbyFiles" includes="*.jar" dir="${shared.resource.dir}/derby/client"/>
        <library id="DerbyLib" filesetRef="DerbyFiles"/>
        <jdbcDriver id="DerbyDriver" libraryRef="DerbyLib"/>
        <dataSource id="SessionDS" jdbcDriverRef="DerbyDriver" jndiName="jdbc/sessions">
            <properties.derby.client user="user1" password="password1" 
                                     databaseName="${shared.resource.dir}/databases/SessionDB" 
                                     createDatabase="create" />
        </dataSource>
    
        <httpSessionDatabase id="SessionDB" dataSourceRef="SessionDS"/>
        <httpSession storageRef="SessionDB" cloneId="${cloneId}"/>
    
        <application id="test" name="test" type="ear" location="${shared.app.dir}/test.ear"/>    
    
    </server>
    참고: 다중 서버가 세션 데이터를 동일 데이터베이스로 유지하도록 구성된 경우, 이 서버는 동일 세션 관리 구성을 공유해야 합니다. 기타 구성은 지원되지 않습니다. 예를 들어, 한 서버는 다중 행 스키마를 사용하고 다른 서버는 단일 행 스키마를 사용하는 것은 불가능합니다.
    우수 사례: 세션 선호도가 애플리케이션에 대해 중요한 경우, 각 서버에 대해 고유 복제 ID를 명시적으로 정의하십시오. 이런 방식으로, 서버에서 생성하는 기본 복제 ID에 의존할 필요가 없으며 복제 ID의 값이 변경되지 않도록 할 수 있습니다.
  2. 각 서버의 공유 세션 관리 구성을 포함하십시오. 예를 들어, 다음과 같이 s1s2라는 서버 인스턴스에 대해 두 server.xml 파일을 작성하십시오.
    • ${wlp.user.dir}/servers/s1/server.xml
    • ${wlp.user.dir}/servers/s2/server.xml
    <server description="Example Server">
        <include location="${shared.config.dir}/httpSessionPersistence.xml"/>
    </server>

    구성 파일에서 include 요소 사용을 확인하십시오.

  3. 각 서버의 bootstrap.properties 파일에 고유 변수를 지정하십시오.
    • ${wlp.user.dir}/servers/s1/bootstrap.properties
      httpPort=9081
      cloneId=s1
    • ${wlp.user.dir}/servers/s2/bootstrap.properties
      httpPort=9082
      cloneId=s2
  4. 서버를 시작하기 전에 세션 지속성에 대한 테이블을 작성하십시오.
    • 기본 행 크기, 테이블 이름 또는 테이블스페이스 이름을 변경하려는 경우, httpSessionDatabase 요소에 관한 세부사항은 server.xml 파일의 구성 요소의 내용을 참조하십시오.
    • 분산 플랫폼용서버가 분산 운영 체제 중 하나에 설치된 경우 추가 조치가 필요하지 않습니다. 서버는 자동으로 테이블을 작성합니다.
    • 서버가 세션 지속성을 위해 DB2®를 사용하는 경우 페이지 크기를 증가시켜 대용량의 데이터를 데이터베이스에 기록할 때의 성능을 최적화할 수 있습니다.
  5. Liberty 서버를 호스트하는 모든 시스템의 시스템 클럭을 동기화하십시오. 시스템 클럭이 동기화되지 않으면 세션 무효화가 예상보다 빨리 발생할 수 있습니다.
  6. 옵션: 필요할 경우에, Liberty 프로파일에서 HTTP 세션과 보안을 통합하십시오. 기본적으로, 세션이 작성되고 보안이 사용 가능한 보호된 자원 내에 액세스한 후 해당 세션의 원래 소유자만이 액세스할 수 있습니다. 기본적으로 세션 보안(보안 통합)이 사용됩니다.
  7. 옵션: 필요한 경우, 구성한 각 서버에 요청을 라우팅하려면 웹 서버 플러그인을 설치하여 구성하십시오. 사용자의 플러그인 구성이 서버 구성에 정의된 복제 ID와 일치하는 복제 ID를 지정하는 경우에만 세션 선호도가 유지보수됩니다.

주제의 유형을 표시하는 아이콘 태스크 주제

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_admin_session_persistence
파일 이름: twlp_admin_session_persistence.html