제13장 domain.xml의 세션 클러스터 설정

JEUS 서버의 메인 설정 파일인 domain.xml에서 세션 서버와 관련된 태그에 대한 설명을 찾을 수 있다. 관련된 설정은 두가지로 세션 클러스터 설정과 세션 서버 설정이다.

13.1. 소개

레퍼런스는 다음 형식으로 구성되어 있다.

  1. XML Schema/XML 트리: XML 설정 파일의 모든 태그 리스트를 정리했다. 각 노드의 형식은 다음과 같다.

    1. 태그 레퍼런스로 빨리 찾아보기 위해서 각 태그마다 인덱스 번호( 예: (11) )를 붙여 놓았다. 태그 레퍼런스에서는 이 번호 순서로 설명한다.

    2. XML Schema에서 정의한 XML 태그명을 <tag name> 형식으로 표시한다.

    3. XML Schema에서 정의한 Cardinality를 표시한다. “?” = 0개나 1개의 element, “+” = 1개 이상의 element, “*” = 0개 이상의 element, (기호가 없음) = 정확히 1개의 element

    4. 몇몇 태그에는 “P” 문자를 붙여 놓았는데, 해당 태그는 성능에 관계되는 태그라는 것을 뜻한다. 이 태그는 설정을 튜닝할 때 사용된다.

  2. Element Reference: 트리에 있는 각 XML 태그를 설명한다.

    1. Dynamic: 동적 설정 반영 가능

    2. Non-Dynamic: 동적 설정 반영 불가능, Dynamic이 설정되지 않은 항목들이 보통 이에 해당 하나 특별히 설명이 있는 경우 이 항목이 표시된다.

    3. Description: 태그에 대한 간단한 설명.

    4. Value Description: 입력하는 값과 타입.

    5. Value Type: 값의 데이터 타입. (예: String)

    6. Value Type Description: 값의 데이터 타입에 대한 설명

    7. Default Value: 해당 XML을 사용하지 않았을 때 기본적으로 사용되는 값.

    8. Defined Value: 이미 정해져 있는 값.

    9. Example: 해당 XML 태그에 대한 예.

    10. Performance Recommendation: 성능 향상을 위해서 추천하는 값.

    11. Child Elements: 자신의 태그 안에 사용하는 태그.

13.2. XML Schema/XML 트리 - 세션 클러스터

13.3. Element Reference - 세션 클러스터

(2265) <domain> <session-cluster>
Description JEUS의 세션 클러스터링에 관한 설정이다. Servlet에서 사용하는 HTTP 세션 클러스터링을 위한 서비스이다. 세션 클러스터링을 지원하게 되며 세션 클러스터링에 참여하는 다른 서버의 세션 서버와 통신하여 장애가 발생한 경우에도 세션이 유지될 수 있도록 한다.
Value Type session-clusterType
Child Elements

(2266) cluster-mode

(2267) session-manager-provider?

(2268) exclude-master-server-in-cluster?

(2269) sticky-encoding-rule?

(2270) common-cluster-config?

(2300) specific-scope-clusters?

(2333) properties?

(2266) <domain> <session-cluster> <cluster-mode>
Description JEUS에서 제공하는 두 가지 세션 클러스터 모드 중 하나를 설정한다. DEFAULT : 이름처럼 기본적으로 설정하는 모드로 서버 클러스터에 의존한 세션 클러스터를 제공한다. 서버 클러스터를 맺을 경우 해당 서버간 세션 클러스터를 지원하며 맺지 않을 경우 세션 클러스터가 사용되지 않는다. DOMAIN_WIDE : 전체 도메인 단 하나의 스코프로 세션을 공유하는 세션 클러스터를 사용시 설정한다. 도메인내 모든 서버와 모든 애플리케이션 들의 세션이 공유 된다. 특정 서버에만 디플로이되는 애플리케이션간 세션을 공유할때 사용된다. 간단하고 직관적으로 구성을 가능하지만 디플로이 된 서버가 다운되었을 경우에 장애에 유연하지 못 할 수 있다
Value Type cluster-modeType
Default Value DEFAULT
Defined Value

DEFAULT

DOMAIN_WIDE

(2267) <domain> <session-cluster> <session-manager-provider>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 매니저의 프로바이더를 설정한다. 예약어 외 전체 패키지 이름을 사용해야 한다.(ex: jeus.servlet.sessionmanager.provider.JeusDistributedWebSessionManagerProvider) 예약어는 두가지를 제공한다. JEUS : JEUS에서 기본적으로 제공하는 세션 매니저를 사용한다. RUNTIME : 다른 프로바이더가 존재할 경우 해당 프로바이더를 우선 사용한다. 없을 경우 JEUS 세션 매니저를 사용한다.
Value Type token
Default Value RUNTIME

(2268) <domain> <session-cluster> <exclude-master-server-in-cluster>
Description 클러스터에 JEUS Master Server를 제외한다. JEUS Master Server를 매니저의 역할로 사용하기 위해 세션 클러스터링의 역할을 제거한다. 이 옵션은 클러스터 모드와 관계 없이 모두 적용된다.
Value Type boolean
Default Value false

(2269) <domain> <session-cluster> <sticky-encoding-rule>
Non-Dynamic 동적 변경이 불가능하다.
Description Sticky encoding의 Encoding Rule을 지원한다. 현재 BASE64, BASE64_WITHOUT_PADDING, RAW를 지원한다. BASE64 : Base64를 사용한다. BASE64_WITHOUT_PADDING : Base64를 사용하되 Padding 문자를 무시한다. RAW : encoding없이 doamin name / server name을 사용한다.
Value Type sticky-modeType
Default Value BASE64
Defined Value

BASE64

BASE64_WITHOUT_PADDING

RAW

(2270) <domain> <session-cluster> <common-cluster-config>
Description 세션 클러스터링에 대한 기본적인 설정이다. 각 클러스터링에 구체적인 설정을 하지 않을 경우 이 설정값이 적용된다. DEFAULT : 서버 클러스터에 세션 클러스터 설정을 할 경우 이 설정은 무시되며, 각 서버 클러스터의 설정을 따른다. DOMAIN_WIDE : 이 설정에 따라 세션 클러스터링이 동작한다. SPECIFIC_SCOPE : specific-scope-clusters 설정을 하지 않을 경우 이 설정으로 세션 클러스터링이 동작하며 개별 설정을 할 경우 이 설정은 무시된다.
Value Type session-cluster-configType
Child Elements

(2271) jeus-login-manager?

(2274) reserved-thread-num?

(2275) connect-timeout?

(2276) read-timeout?

(2277) allow-fail-back?

(2278) failover-strategy?

(2279) backup-level?

(2280) backup-unit-size?

(2281) backup-queue-size?

(2282) ignore-flow-control?

(2283) prevent-migration?

(2284) failover-delay?

(2285) restart-delay?

(2286) passivation?

(2296) properties?

(2271) <domain> <session-cluster> <common-cluster-config> <jeus-login-manager>
Non-Dynamic 동적 변경이 불가능하다.
Description jeus-login-manager의 Primary 서버와 Secondary 서버를 설정한다. Cluster level에서 중복 로그인 방지를 위한 jeus-login-manager의 로그인 정보가 저장될 서버를 설정한다. 설정은 서버명으로 한다.
Value Type jeus-login-managerType
Child Elements

(2272) primary

(2273) secondary?

(2272) <domain> <session-cluster> <common-cluster-config> <jeus-login-manager> <primary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Primary 서버를 설정한다.
Value Type token

(2273) <domain> <session-cluster> <common-cluster-config> <jeus-login-manager> <secondary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Secondary 서버를 설정한다.
Value Type token

(2274) <domain> <session-cluster> <common-cluster-config> <reserved-thread-num>
Non-Dynamic 동적 변경이 불가능하다.
Description 분산식 세션 서버로 들어온 요청을 처리하기 위한 Thread Pool에 대해 부가적인 설정을 한다. 기본적으로 System Thread Pool(Threadpool.System)을 사용하지만 특별히 이 서비스를 위한 스레드를 미리 할당할 필요가 있을 경우에만 설정한다. 여기에 설정한 값은 다른 서비스 들과 합산했을 때 System Thread Pool의 최댓값을 넘지 않도록 해야 한다.
Value Type nonNegativeIntType
Value Type Description 0 이상의 Int 값이다.
Default Value 0

(2275) <domain> <session-cluster> <common-cluster-config> <connect-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 소켓 커넥션을 생성할 때 적용되는 Timeout 값이다. 단위는 밀리 초이다
Value Type long
Default Value 5000

(2276) <domain> <session-cluster> <common-cluster-config> <read-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 통신에 적용되는 Read Timeout 값이다. 데이터를 보낸 후 응답을 설정한 시간만큼 기다리게 된다. 단위는 밀리 초이다
Value Type long
Default Value 20000

(2277) <domain> <session-cluster> <common-cluster-config> <allow-fail-back>
Description fail-back을 허용할지에 대한 설정이다. 장애가 발생한 서버가 다시 기동될 때 기존에 백업했던 세션을 다시 전송받을지 여부를 결정한다. 기동 되는 서버의 설정에 의해 동작이 결정된다.
Value Type boolean
Default Value true

(2278) <domain> <session-cluster> <common-cluster-config> <failover-strategy>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 세션 매니져의 장애 상황을 어떻게 극복 할지에 대한 설정이다. 기본적으로 장애 상황에 백업된 세션의 의해서 특별한 동작 없이 세션들이 유지 된다.
Value Type session-fail-overType
Default Value none
Defined Value

none

upgrade

handover

(2279) <domain> <session-cluster> <common-cluster-config> <backup-level>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 사용된 세션을 리모트 웹 엔진 또는 로컬 파일 DB에 백업하기 전에 백업할 필요가 있는지를 확인하는 것이 필요하다. 이 설정은 백업의 필요성을 체크하는 기준을 정한다. 기본적으로 사용된 세션이 Invalidate되었을 경우 설정한 기준에 관계없이 백업한다.
Value Type backup-levelType
Default Value access
Defined Value

access

set

get

all

(2280) <domain> <session-cluster> <common-cluster-config> <backup-unit-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 내부적으로 백업을 수행할 세션 단위 갯수이다. 보통 1개의 세션 단위로 업데이트가 되지만 부하상황 시 해당 여러 개를 한번에 전송된다. 최대 함께 보낼 세션의 갯수를 설정한다. 내부적으로 네트워크 패켓 제한과 세션 사이즈가 고려되어야 한다.
Value Type int
Default Value 50

(2281) <domain> <session-cluster> <common-cluster-config> <backup-queue-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 네트워크가 불안정할 경우 백업 전송이 지연될 수 있다. 해당 지연이 발생하더라도 일정하게 세션을 큐에 저장하고 서블릿을 수행한다. 큐가 가득찰 경우 Worker들이 기다리게 되어서 자연스러운 플로우 컨트롤이 수행된다. 큐에는 백업 유닛 단위로 저장되어 'backup-unit * backup-queue-size'만큼의 세션이 저장될수 있다.
Value Type int
Default Value 20

(2282) <domain> <session-cluster> <common-cluster-config> <ignore-flow-control>
Description 백업 큐가 가득 차더라도 서비스는 지속적으로 수행을 하고자 할 때 설정한다. 해당 세션은 백업에 실패하였기에 장애 상황에 유실될 가능성은 존재 한다. 장애 상황 및 라우팅 튕김현상보다 서비스가 우선순위가 높을때 설정한다.
Value Type boolean
Default Value false

(2283) <domain> <session-cluster> <common-cluster-config> <prevent-migration>
Description JEUS에서의 세션 유지 방식은 마이그레이션을 기본으로 동작한다. 장애 상황이나 부하상황에 의해 세션이 없던 서버로 요청이 전달되었을 경우 해당 서버로 또 다시 요청이 올 것을 대비하여 세션에 대해 라우팅 정보의 오너쉽을 변경한 후 응답을 보낸다. 하지만 해당 응답이 도착하기 전에 여러 서버로 동시에 요청을 전달하여 서비스를 수행하는 서블릿 스펙을 넘어서는 상황에서는 세션이 유실될 가능성이 존재한다. 해당 상황이 불가피하게 존재할 때를 대비하여 마이그레이션을 하지 않는 방식을 제공한다. 설정을 사용할 경우 최초 세션이 생성된 곳으로 지속적으로 업데이트 방식으로 이뤄지게 되어 성능상에 많은 불이익이 존재한다.
Value Type boolean
Default Value false

(2284) <domain> <session-cluster> <common-cluster-config> <failover-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 장애가 발생하였을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺을 Timeout 값이다. 즉, 이는 장애 상황에서 해당 엔진의 복구를 기다리는 시간이다. 단위는 초이다.
Value Type long
Default Value 600

(2285) <domain> <session-cluster> <common-cluster-config> <restart-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진을 정상적으로 다운시켰을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺는 Timeout이다. 이는 재기동이 다운의 가장 많은 케이스이기 때문에 해당 재기동에 대한 성능을 향상시키기 위한 설정이다. 단위는 초이다.
Value Type long
Default Value 600

(2286) <domain> <session-cluster> <common-cluster-config> <passivation>
Description 일정 시간이 지나거나 특정 조건에 충족되었을 때 메모리에 유지하고 있던 세션을 파일에 유지하여 메모리 효율을 높이는 기능을 제공한다. 해당 작업은 기본적으로 애플리케이션 별로 수행되나 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared>의 설정에 따라서 true일 경우 서버별로 수행된다. 설정하지 않을 모든 세션을 메모리에 유지한다.
Value Type passivationType
Child Elements

(2287) file-path?

(2288) trigger?

(2292) single-folder-file-limit?

(2293) min-hole?

(2294) packing-rate?

(2295) ratio?

(2287) <domain> <session-cluster> <common-cluster-config> <passivation> <file-path>
Non-Dynamic 기존 접근 파일의 내용을 참조하기 때문에 동적으로 변경할 수 없다.
Description 세션을 저장할 파일 경로을 지정한다(절대 경로). 파일 백업은 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared> 설정에 따라서 true일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<server_name>"이고, false일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<context_name>"로 설정된다.
Value Type token

(2288) <domain> <session-cluster> <common-cluster-config> <passivation> <trigger>
Description file passivation을 수행하는 Trigger들을 설정한다. timeout, session count, session memory들을 제공한다.
Value Type passivationTriggerType
Child Elements

(2289) timeout?

(2290) count-threshold?

(2291) memory-threshold?

(2289) <domain> <session-cluster> <common-cluster-config> <passivation> <trigger> <timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 메모리에 존재하는 세션 객체를 일정시간 사용하지 않으면 파일에 저장 하는 설정이다. -1 또는 0이면 파일로 패시베이션을 수행하지 않는다. 0보다 큰 시간을 설정하면 지정된 시간 이상 사용하지 않는 메모리의 세션 객체는 파일로 패시베이션된다. 단위는 밀리 초이며 기본값은 -1이다.
Value Type long
Default Value -1

(2290) <domain> <session-cluster> <common-cluster-config> <passivation> <trigger> <count-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 갯수 이상 메모리상에 존재할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 세션 갯수에 대한 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(2291) <domain> <session-cluster> <common-cluster-config> <passivation> <trigger> <memory-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 메모리를 차지할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 직렬화를 수행 한 결과의 byte 단위의 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(2292) <domain> <session-cluster> <common-cluster-config> <passivation> <single-folder-file-limit>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 하나당 파일을 하나씩 사용하게 된다. 하나의 폴더에 저장된 세션파일의 갯수를 제한한다. 너무 적은 수의 설정을 하게 되면 불필요한 폴더가 많이 생성될 수 있으며 10000개 이상의 설정 시 운영체제에 따라 파일 입출력상 성능의 저하가 있을 수 있다.
Value Type int
Default Value 10000

(2293) <domain> <session-cluster> <common-cluster-config> <passivation> <min-hole>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 이 설정에 지정된 횟수 만큼 파일 I/O가 발생하면 File Packing을 수행하여 필요이상 파일 크기가 늘어나는 것을 막는다.
Value Type int
Default Value 100

(2294) <domain> <session-cluster> <common-cluster-config> <passivation> <packing-rate>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 현재 세션 객체 개수 대비 파일 I/O 횟수가 지정된 Ratio를 넘어서면 File Packing을 수행하여 필요 이상 파일 크기가 늘어나는 것을 막는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 5.0E-1

(2295) <domain> <session-cluster> <common-cluster-config> <passivation> <ratio>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 개수 및 세션의 메모리로 패시베이션을 진행할 때 얼마나 많은 세션을 패시베이션할지의 비율을 설정한다. 설정한 비율 만큼의 개수 또는 메모리 양을 유지하도록 패시베이션을 수행한다. 타임아웃으로 인해 패시베이션을 수행할 때에는 적용되지 않는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 7.0E-1

(2296) <domain> <session-cluster> <common-cluster-config> <properties>
Description 이 세션 클러스터 스코프에 적용되는 프로퍼티 설정이다. 여기에 설정을 추가하게 되면 동일한 이름의 도메인단 프로퍼티는 무시하게 된다. 해당 클러스터에만 구체적으로 설정할 경우 추가하면 된다.
Value Type propertiesType
Child Elements

(2297) property*

(2297) <domain> <session-cluster> <common-cluster-config> <properties> <property>
Value Type propertyType
Child Elements

(2298) key

(2299) value

(2298) <domain> <session-cluster> <common-cluster-config> <properties> <property> <key>
Description 프로퍼티의 Key 값이다.
Value Type valuableToken

(2299) <domain> <session-cluster> <common-cluster-config> <properties> <property> <value>
Description 프로퍼티의 Value 값이다.
Value Type valuableToken

(2300) <domain> <session-cluster> <specific-scope-clusters>
Value Type specific-scope-clustersType
Child Elements

(2301) specific-scope*

(2301) <domain> <session-cluster> <specific-scope-clusters> <specific-scope>
Non-Dynamic 동적 변경이 불가능하다.
Description 특정 애플리케이션 들로 그룹들을 설정하고 해당 그룹 스코프로 세션을 공유 및 유지하고자 할 때 설정한다. JEUS의 세션 클러스터링에서는 해당 그룹들을 독립적인 애플리케이션들로 간주하여 세션을 공유한다. 이러한 공유가 가능하기 위해서는 브라우져의 쿠키가 다른 그룹의 스코프와 독립적으로 운영되어야 한다. 그룹간 쿠키 패스는 고유한 값으로 설정 되어야 하며, 그룹 내 애플리케이션들은 해당 값으로 컨텍스트 패스 공통으로 적용해야 하는 제약사항이 존재한다. 스코프를 설정하고 해당 스코프 별로 클러스터 설정을 다르게 적용할 경우 설정한다.
Value Type specific-scope-clusterType
Child Elements

(2302) name

(2303) session-cluster-config?

(2302) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <name>
Non-Dynamic 동적 변경이 불가능하다.
Description 설정한 스코프의 고유한 이름을 설정한다. 이 이름은 도메인 내에서 유일해야 하며, 세션 클러스터를 구성할 때 고유한 식별자(ID)로 사용된다. 해당 식별자를 각 애플리케이션에서 선택하여 그룹을 결정한다.
Value Type valuableToken

(2303) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config>
Value Type session-cluster-configType
Child Elements

(2304) jeus-login-manager?

(2307) reserved-thread-num?

(2308) connect-timeout?

(2309) read-timeout?

(2310) allow-fail-back?

(2311) failover-strategy?

(2312) backup-level?

(2313) backup-unit-size?

(2314) backup-queue-size?

(2315) ignore-flow-control?

(2316) prevent-migration?

(2317) failover-delay?

(2318) restart-delay?

(2319) passivation?

(2329) properties?

(2304) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <jeus-login-manager>
Non-Dynamic 동적 변경이 불가능하다.
Description jeus-login-manager의 Primary 서버와 Secondary 서버를 설정한다. Cluster level에서 중복 로그인 방지를 위한 jeus-login-manager의 로그인 정보가 저장될 서버를 설정한다. 설정은 서버명으로 한다.
Value Type jeus-login-managerType
Child Elements

(2305) primary

(2306) secondary?

(2305) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <jeus-login-manager> <primary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Primary 서버를 설정한다.
Value Type token

(2306) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <jeus-login-manager> <secondary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Secondary 서버를 설정한다.
Value Type token

(2307) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <reserved-thread-num>
Non-Dynamic 동적 변경이 불가능하다.
Description 분산식 세션 서버로 들어온 요청을 처리하기 위한 Thread Pool에 대해 부가적인 설정을 한다. 기본적으로 System Thread Pool(Threadpool.System)을 사용하지만 특별히 이 서비스를 위한 스레드를 미리 할당할 필요가 있을 경우에만 설정한다. 여기에 설정한 값은 다른 서비스 들과 합산했을 때 System Thread Pool의 최댓값을 넘지 않도록 해야 한다.
Value Type nonNegativeIntType
Value Type Description 0 이상의 Int 값이다.
Default Value 0

(2308) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <connect-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 소켓 커넥션을 생성할 때 적용되는 Timeout 값이다. 단위는 밀리 초이다
Value Type long
Default Value 5000

(2309) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <read-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 통신에 적용되는 Read Timeout 값이다. 데이터를 보낸 후 응답을 설정한 시간만큼 기다리게 된다. 단위는 밀리 초이다
Value Type long
Default Value 20000

(2310) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <allow-fail-back>
Description fail-back을 허용할지에 대한 설정이다. 장애가 발생한 서버가 다시 기동될 때 기존에 백업했던 세션을 다시 전송받을지 여부를 결정한다. 기동 되는 서버의 설정에 의해 동작이 결정된다.
Value Type boolean
Default Value true

(2311) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <failover-strategy>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 세션 매니져의 장애 상황을 어떻게 극복 할지에 대한 설정이다. 기본적으로 장애 상황에 백업된 세션의 의해서 특별한 동작 없이 세션들이 유지 된다.
Value Type session-fail-overType
Default Value none
Defined Value

none

upgrade

handover

(2312) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <backup-level>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 사용된 세션을 리모트 웹 엔진 또는 로컬 파일 DB에 백업하기 전에 백업할 필요가 있는지를 확인하는 것이 필요하다. 이 설정은 백업의 필요성을 체크하는 기준을 정한다. 기본적으로 사용된 세션이 Invalidate되었을 경우 설정한 기준에 관계없이 백업한다.
Value Type backup-levelType
Default Value access
Defined Value

access

set

get

all

(2313) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <backup-unit-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 내부적으로 백업을 수행할 세션 단위 갯수이다. 보통 1개의 세션 단위로 업데이트가 되지만 부하상황 시 해당 여러 개를 한번에 전송된다. 최대 함께 보낼 세션의 갯수를 설정한다. 내부적으로 네트워크 패켓 제한과 세션 사이즈가 고려되어야 한다.
Value Type int
Default Value 50

(2314) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <backup-queue-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 네트워크가 불안정할 경우 백업 전송이 지연될 수 있다. 해당 지연이 발생하더라도 일정하게 세션을 큐에 저장하고 서블릿을 수행한다. 큐가 가득찰 경우 Worker들이 기다리게 되어서 자연스러운 플로우 컨트롤이 수행된다. 큐에는 백업 유닛 단위로 저장되어 'backup-unit * backup-queue-size'만큼의 세션이 저장될수 있다.
Value Type int
Default Value 20

(2315) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <ignore-flow-control>
Description 백업 큐가 가득 차더라도 서비스는 지속적으로 수행을 하고자 할 때 설정한다. 해당 세션은 백업에 실패하였기에 장애 상황에 유실될 가능성은 존재 한다. 장애 상황 및 라우팅 튕김현상보다 서비스가 우선순위가 높을때 설정한다.
Value Type boolean
Default Value false

(2316) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <prevent-migration>
Description JEUS에서의 세션 유지 방식은 마이그레이션을 기본으로 동작한다. 장애 상황이나 부하상황에 의해 세션이 없던 서버로 요청이 전달되었을 경우 해당 서버로 또 다시 요청이 올 것을 대비하여 세션에 대해 라우팅 정보의 오너쉽을 변경한 후 응답을 보낸다. 하지만 해당 응답이 도착하기 전에 여러 서버로 동시에 요청을 전달하여 서비스를 수행하는 서블릿 스펙을 넘어서는 상황에서는 세션이 유실될 가능성이 존재한다. 해당 상황이 불가피하게 존재할 때를 대비하여 마이그레이션을 하지 않는 방식을 제공한다. 설정을 사용할 경우 최초 세션이 생성된 곳으로 지속적으로 업데이트 방식으로 이뤄지게 되어 성능상에 많은 불이익이 존재한다.
Value Type boolean
Default Value false

(2317) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <failover-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 장애가 발생하였을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺을 Timeout 값이다. 즉, 이는 장애 상황에서 해당 엔진의 복구를 기다리는 시간이다. 단위는 초이다.
Value Type long
Default Value 600

(2318) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <restart-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진을 정상적으로 다운시켰을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺는 Timeout이다. 이는 재기동이 다운의 가장 많은 케이스이기 때문에 해당 재기동에 대한 성능을 향상시키기 위한 설정이다. 단위는 초이다.
Value Type long
Default Value 600

(2319) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation>
Description 일정 시간이 지나거나 특정 조건에 충족되었을 때 메모리에 유지하고 있던 세션을 파일에 유지하여 메모리 효율을 높이는 기능을 제공한다. 해당 작업은 기본적으로 애플리케이션 별로 수행되나 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared>의 설정에 따라서 true일 경우 서버별로 수행된다. 설정하지 않을 모든 세션을 메모리에 유지한다.
Value Type passivationType
Child Elements

(2320) file-path?

(2321) trigger?

(2325) single-folder-file-limit?

(2326) min-hole?

(2327) packing-rate?

(2328) ratio?

(2320) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <file-path>
Non-Dynamic 기존 접근 파일의 내용을 참조하기 때문에 동적으로 변경할 수 없다.
Description 세션을 저장할 파일 경로을 지정한다(절대 경로). 파일 백업은 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared> 설정에 따라서 true일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<server_name>"이고, false일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<context_name>"로 설정된다.
Value Type token

(2321) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <trigger>
Description file passivation을 수행하는 Trigger들을 설정한다. timeout, session count, session memory들을 제공한다.
Value Type passivationTriggerType
Child Elements

(2322) timeout?

(2323) count-threshold?

(2324) memory-threshold?

(2322) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <trigger> <timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 메모리에 존재하는 세션 객체를 일정시간 사용하지 않으면 파일에 저장 하는 설정이다. -1 또는 0이면 파일로 패시베이션을 수행하지 않는다. 0보다 큰 시간을 설정하면 지정된 시간 이상 사용하지 않는 메모리의 세션 객체는 파일로 패시베이션된다. 단위는 밀리 초이며 기본값은 -1이다.
Value Type long
Default Value -1

(2323) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <trigger> <count-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 갯수 이상 메모리상에 존재할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 세션 갯수에 대한 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(2324) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <trigger> <memory-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 메모리를 차지할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 직렬화를 수행 한 결과의 byte 단위의 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(2325) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <single-folder-file-limit>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 하나당 파일을 하나씩 사용하게 된다. 하나의 폴더에 저장된 세션파일의 갯수를 제한한다. 너무 적은 수의 설정을 하게 되면 불필요한 폴더가 많이 생성될 수 있으며 10000개 이상의 설정 시 운영체제에 따라 파일 입출력상 성능의 저하가 있을 수 있다.
Value Type int
Default Value 10000

(2326) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <min-hole>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 이 설정에 지정된 횟수 만큼 파일 I/O가 발생하면 File Packing을 수행하여 필요이상 파일 크기가 늘어나는 것을 막는다.
Value Type int
Default Value 100

(2327) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <packing-rate>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 현재 세션 객체 개수 대비 파일 I/O 횟수가 지정된 Ratio를 넘어서면 File Packing을 수행하여 필요 이상 파일 크기가 늘어나는 것을 막는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 5.0E-1

(2328) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <passivation> <ratio>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 개수 및 세션의 메모리로 패시베이션을 진행할 때 얼마나 많은 세션을 패시베이션할지의 비율을 설정한다. 설정한 비율 만큼의 개수 또는 메모리 양을 유지하도록 패시베이션을 수행한다. 타임아웃으로 인해 패시베이션을 수행할 때에는 적용되지 않는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 7.0E-1

(2329) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <properties>
Description 이 세션 클러스터 스코프에 적용되는 프로퍼티 설정이다. 여기에 설정을 추가하게 되면 동일한 이름의 도메인단 프로퍼티는 무시하게 된다. 해당 클러스터에만 구체적으로 설정할 경우 추가하면 된다.
Value Type propertiesType
Child Elements

(2330) property*

(2330) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <properties> <property>
Value Type propertyType
Child Elements

(2331) key

(2332) value

(2331) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <properties> <property> <key>
Description 프로퍼티의 Key 값이다.
Value Type valuableToken

(2332) <domain> <session-cluster> <specific-scope-clusters> <specific-scope> <session-cluster-config> <properties> <property> <value>
Description 프로퍼티의 Value 값이다.
Value Type valuableToken

(2333) <domain> <session-cluster> <properties>
Description 도메인에 설정하는 세션관련 프로퍼티 설정이다. 모든 스코프의 세션 클러스터에 동일하게 적용된다. 만약 동일 프로퍼티 설정이 하부 특정 세션 클러스터에 존재할 경우 해당 설정이 사용되며, 이 설정은 무시된다.
Value Type propertiesType
Child Elements

(2334) property*

(2334) <domain> <session-cluster> <properties> <property>
Value Type propertyType
Child Elements

(2335) key

(2336) value

(2335) <domain> <session-cluster> <properties> <property> <key>
Description 프로퍼티의 Key 값이다.
Value Type valuableToken

(2336) <domain> <session-cluster> <properties> <property> <value>
Description 프로퍼티의 Value 값이다.
Value Type valuableToken

13.4. XML Schema/XML 트리 - 클러스터 하부 세션 서버 설정

13.5. Element Reference - 클러스터 하부 세션 서버 설정

(1093) <domain> <clusters> <cluster> <session-cluster-config>
Description 클러스터의 세션 서버에 대한 정보를 설정한다.
Value Type session-cluster-configType
Child Elements

(1094) jeus-login-manager?

(1097) reserved-thread-num?

(1098) connect-timeout?

(1099) read-timeout?

(1100) allow-fail-back?

(1101) failover-strategy?

(1102) backup-level?

(1103) backup-unit-size?

(1104) backup-queue-size?

(1105) ignore-flow-control?

(1106) prevent-migration?

(1107) failover-delay?

(1108) restart-delay?

(1109) passivation?

(1119) properties?

(1094) <domain> <clusters> <cluster> <session-cluster-config> <jeus-login-manager>
Non-Dynamic 동적 변경이 불가능하다.
Description jeus-login-manager의 Primary 서버와 Secondary 서버를 설정한다. Cluster level에서 중복 로그인 방지를 위한 jeus-login-manager의 로그인 정보가 저장될 서버를 설정한다. 설정은 서버명으로 한다.
Value Type jeus-login-managerType
Child Elements

(1095) primary

(1096) secondary?

(1095) <domain> <clusters> <cluster> <session-cluster-config> <jeus-login-manager> <primary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Primary 서버를 설정한다.
Value Type token

(1096) <domain> <clusters> <cluster> <session-cluster-config> <jeus-login-manager> <secondary>
Non-Dynamic 동적 변경이 불가능하다.
Description JEUS 로그인 매니저의 Secondary 서버를 설정한다.
Value Type token

(1097) <domain> <clusters> <cluster> <session-cluster-config> <reserved-thread-num>
Non-Dynamic 동적 변경이 불가능하다.
Description 분산식 세션 서버로 들어온 요청을 처리하기 위한 Thread Pool에 대해 부가적인 설정을 한다. 기본적으로 System Thread Pool(Threadpool.System)을 사용하지만 특별히 이 서비스를 위한 스레드를 미리 할당할 필요가 있을 경우에만 설정한다. 여기에 설정한 값은 다른 서비스 들과 합산했을 때 System Thread Pool의 최댓값을 넘지 않도록 해야 한다.
Value Type nonNegativeIntType
Value Type Description 0 이상의 Int 값이다.
Default Value 0

(1098) <domain> <clusters> <cluster> <session-cluster-config> <connect-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 소켓 커넥션을 생성할 때 적용되는 Timeout 값이다. 단위는 밀리 초이다
Value Type long
Default Value 5000

(1099) <domain> <clusters> <cluster> <session-cluster-config> <read-timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 존재하는 세션 서버 간의 통신에 적용되는 Read Timeout 값이다. 데이터를 보낸 후 응답을 설정한 시간만큼 기다리게 된다. 단위는 밀리 초이다
Value Type long
Default Value 20000

(1100) <domain> <clusters> <cluster> <session-cluster-config> <allow-fail-back>
Description fail-back을 허용할지에 대한 설정이다. 장애가 발생한 서버가 다시 기동될 때 기존에 백업했던 세션을 다시 전송받을지 여부를 결정한다. 기동 되는 서버의 설정에 의해 동작이 결정된다.
Value Type boolean
Default Value true

(1101) <domain> <clusters> <cluster> <session-cluster-config> <failover-strategy>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 세션 매니져의 장애 상황을 어떻게 극복 할지에 대한 설정이다. 기본적으로 장애 상황에 백업된 세션의 의해서 특별한 동작 없이 세션들이 유지 된다.
Value Type session-fail-overType
Default Value none
Defined Value

none

upgrade

handover

(1102) <domain> <clusters> <cluster> <session-cluster-config> <backup-level>
Non-Dynamic 백업 레벨은 동적 변경이 불가능하다.
Description 사용된 세션을 리모트 웹 엔진 또는 로컬 파일 DB에 백업하기 전에 백업할 필요가 있는지를 확인하는 것이 필요하다. 이 설정은 백업의 필요성을 체크하는 기준을 정한다. 기본적으로 사용된 세션이 Invalidate되었을 경우 설정한 기준에 관계없이 백업한다.
Value Type backup-levelType
Default Value access
Defined Value

access

set

get

all

(1103) <domain> <clusters> <cluster> <session-cluster-config> <backup-unit-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 내부적으로 백업을 수행할 세션 단위 갯수이다. 보통 1개의 세션 단위로 업데이트가 되지만 부하상황 시 해당 여러 개를 한번에 전송된다. 최대 함께 보낼 세션의 갯수를 설정한다. 내부적으로 네트워크 패켓 제한과 세션 사이즈가 고려되어야 한다.
Value Type int
Default Value 50

(1104) <domain> <clusters> <cluster> <session-cluster-config> <backup-queue-size>
Non-Dynamic 동적 변경이 불가능하다.
Description 네트워크가 불안정할 경우 백업 전송이 지연될 수 있다. 해당 지연이 발생하더라도 일정하게 세션을 큐에 저장하고 서블릿을 수행한다. 큐가 가득찰 경우 Worker들이 기다리게 되어서 자연스러운 플로우 컨트롤이 수행된다. 큐에는 백업 유닛 단위로 저장되어 'backup-unit * backup-queue-size'만큼의 세션이 저장될수 있다.
Value Type int
Default Value 20

(1105) <domain> <clusters> <cluster> <session-cluster-config> <ignore-flow-control>
Description 백업 큐가 가득 차더라도 서비스는 지속적으로 수행을 하고자 할 때 설정한다. 해당 세션은 백업에 실패하였기에 장애 상황에 유실될 가능성은 존재 한다. 장애 상황 및 라우팅 튕김현상보다 서비스가 우선순위가 높을때 설정한다.
Value Type boolean
Default Value false

(1106) <domain> <clusters> <cluster> <session-cluster-config> <prevent-migration>
Description JEUS에서의 세션 유지 방식은 마이그레이션을 기본으로 동작한다. 장애 상황이나 부하상황에 의해 세션이 없던 서버로 요청이 전달되었을 경우 해당 서버로 또 다시 요청이 올 것을 대비하여 세션에 대해 라우팅 정보의 오너쉽을 변경한 후 응답을 보낸다. 하지만 해당 응답이 도착하기 전에 여러 서버로 동시에 요청을 전달하여 서비스를 수행하는 서블릿 스펙을 넘어서는 상황에서는 세션이 유실될 가능성이 존재한다. 해당 상황이 불가피하게 존재할 때를 대비하여 마이그레이션을 하지 않는 방식을 제공한다. 설정을 사용할 경우 최초 세션이 생성된 곳으로 지속적으로 업데이트 방식으로 이뤄지게 되어 성능상에 많은 불이익이 존재한다.
Value Type boolean
Default Value false

(1107) <domain> <clusters> <cluster> <session-cluster-config> <failover-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진에 장애가 발생하였을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺을 Timeout 값이다. 즉, 이는 장애 상황에서 해당 엔진의 복구를 기다리는 시간이다. 단위는 초이다.
Value Type long
Default Value 600

(1108) <domain> <clusters> <cluster> <session-cluster-config> <restart-delay>
Non-Dynamic 동적 변경이 불가능하다.
Description 웹 엔진을 정상적으로 다운시켰을 때 해당 엔진을 제외한 나머지 엔진에서 다시 클러스터링 연결을 맺는 Timeout이다. 이는 재기동이 다운의 가장 많은 케이스이기 때문에 해당 재기동에 대한 성능을 향상시키기 위한 설정이다. 단위는 초이다.
Value Type long
Default Value 600

(1109) <domain> <clusters> <cluster> <session-cluster-config> <passivation>
Description 일정 시간이 지나거나 특정 조건에 충족되었을 때 메모리에 유지하고 있던 세션을 파일에 유지하여 메모리 효율을 높이는 기능을 제공한다. 해당 작업은 기본적으로 애플리케이션 별로 수행되나 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared>의 설정에 따라서 true일 경우 서버별로 수행된다. 설정하지 않을 모든 세션을 메모리에 유지한다.
Value Type passivationType
Child Elements

(1110) file-path?

(1111) trigger?

(1115) single-folder-file-limit?

(1116) min-hole?

(1117) packing-rate?

(1118) ratio?

(1110) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <file-path>
Non-Dynamic 기존 접근 파일의 내용을 참조하기 때문에 동적으로 변경할 수 없다.
Description 세션을 저장할 파일 경로을 지정한다(절대 경로). 파일 백업은 jeus-web-dd.xml, domain.xml 속 서버 설정 안의 <session-config><shared> 설정에 따라서 true일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<server_name>"이고, false일 경우 "$(SERVER_HOME)/.workspace/session/distributed/<context_name>"로 설정된다.
Value Type token

(1111) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <trigger>
Description file passivation을 수행하는 Trigger들을 설정한다. timeout, session count, session memory들을 제공한다.
Value Type passivationTriggerType
Child Elements

(1112) timeout?

(1113) count-threshold?

(1114) memory-threshold?

(1112) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <trigger> <timeout>
Non-Dynamic 동적 변경이 불가능하다.
Description 메모리에 존재하는 세션 객체를 일정시간 사용하지 않으면 파일에 저장 하는 설정이다. -1 또는 0이면 파일로 패시베이션을 수행하지 않는다. 0보다 큰 시간을 설정하면 지정된 시간 이상 사용하지 않는 메모리의 세션 객체는 파일로 패시베이션된다. 단위는 밀리 초이며 기본값은 -1이다.
Value Type long
Default Value -1

(1113) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <trigger> <count-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 갯수 이상 메모리상에 존재할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 세션 갯수에 대한 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(1114) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <trigger> <memory-threshold>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션이 일정 메모리를 차지할 경우 세션의 일부를 파일에 내리는 작업을 수행한다. 이 작업은 일정 주기마다 수행되는 모니터링 스레드에 의해 진행된다. 직렬화를 수행 한 결과의 byte 단위의 설정이며 -1 또는 0일 경우 수행하지 않는다.
Value Type int
Default Value -1

(1115) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <single-folder-file-limit>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 하나당 파일을 하나씩 사용하게 된다. 하나의 폴더에 저장된 세션파일의 갯수를 제한한다. 너무 적은 수의 설정을 하게 되면 불필요한 폴더가 많이 생성될 수 있으며 10000개 이상의 설정 시 운영체제에 따라 파일 입출력상 성능의 저하가 있을 수 있다.
Value Type int
Default Value 10000

(1116) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <min-hole>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 이 설정에 지정된 횟수 만큼 파일 I/O가 발생하면 File Packing을 수행하여 필요이상 파일 크기가 늘어나는 것을 막는다.
Value Type int
Default Value 100

(1117) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <packing-rate>
Non-Dynamic 동적 변경이 불가능하다.
Description 일정시간 File DB를 운용하면 파일의 크기가 필요이상 커지게 된다. 현재 세션 객체 개수 대비 파일 I/O 횟수가 지정된 Ratio를 넘어서면 File Packing을 수행하여 필요 이상 파일 크기가 늘어나는 것을 막는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 5.0E-1

(1118) <domain> <clusters> <cluster> <session-cluster-config> <passivation> <ratio>
Non-Dynamic 동적 변경이 불가능하다.
Description 세션 개수 및 세션의 메모리로 패시베이션을 진행할 때 얼마나 많은 세션을 패시베이션할지의 비율을 설정한다. 설정한 비율 만큼의 개수 또는 메모리 양을 유지하도록 패시베이션을 수행한다. 타임아웃으로 인해 패시베이션을 수행할 때에는 적용되지 않는다.
Value Type fractionType
Value Type Description 0과 1사이의 Float 타입으로 비율을 나타낸다.
Default Value 7.0E-1

(1119) <domain> <clusters> <cluster> <session-cluster-config> <properties>
Description 이 세션 클러스터 스코프에 적용되는 프로퍼티 설정이다. 여기에 설정을 추가하게 되면 동일한 이름의 도메인단 프로퍼티는 무시하게 된다. 해당 클러스터에만 구체적으로 설정할 경우 추가하면 된다.
Value Type propertiesType
Child Elements

(1120) property*

(1120) <domain> <clusters> <cluster> <session-cluster-config> <properties> <property>
Value Type propertyType
Child Elements

(1121) key

(1122) value

(1121) <domain> <clusters> <cluster> <session-cluster-config> <properties> <property> <key>
Description 프로퍼티의 Key 값이다.
Value Type valuableToken

(1122) <domain> <clusters> <cluster> <session-cluster-config> <properties> <property> <value>
Description 프로퍼티의 Value 값이다.
Value Type valuableToken

13.6. domain.xml의 클러스터 하부 세션 서버 설정 예제

[예 13.1] domain.xml의 클러스터 하부 세션 서버 설정 예제




<?xml version="1.0" encoding="UTF-8"?><domain xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="7.0">
<!-- Complex Configuration -->
	<servers>
		<!--Server Side Config : upper Example -->
	</servers>
	<clusters>
		<cluster>
            <!-- Name -->
            <name>Distributed</name>


            <!-- Servers in member of Clustering-->
            <servers>
                <server-name>server1</server-name>
                <server-name>server2</server-name>
            </servers>

			<!-- Configuration Starting point -->
			<session-cluster-config>

				<!-- System Thread Pool Config -->
				<reserved-thread-num>0</reserved-thread-num>

				<!-- Fail-back config -->
				<allow-fail-back>true</allow-fail-back>

				<!-- Connection Config -->
				<connect-timeout>5000</connect-timeout>
				<read-timeout>20000</read-timeout>

				<!--Backup 대상 설정 -->
				<backup-level>access</backup-level>


				<!-- 장애 상황시 백업 테이블 재구성의 Delay -->
				<failover-delay>1000</failover-delay>

				<!-- 정상 종료시 백업 테이블 재구성의 Delay -->
				<restart-delay>2000</restart-delay>

				<passivation>
					<single-folder-file-limit>10000</single-folder-file-limit>
					<trigger>
						<timeout>60000</timeout>
						<count-threshold>10000</count-threshold>
					</trigger>
				</passivation>

			</session-cluster-config>

		</cluster>
	</clusters>
</domain>

<?xml version="1.0" encoding="UTF-8"?><domain xmlns="http://www.tmaxsoft.com/xml/ns/jeus" version="7.0">
<!-- Simple Configuration, Only Cluster Config -->
<servers>
	<!--Server Side Config : upper Example -->
</servers>
	<clusters>
		<cluster>
			<!-- Name -->
			<name>Distributed</name>
			
			<!-- Servers in member of Clustering-->
			<servers>
				<server-name>server1</server-name>
				<server-name>server2</server-name>
			</servers>
		</cluster>
	</clusters>
</domain>