자원 워크로드 라우팅

이 주제를 사용하여 환경에서 자원 라우팅을 사용하는 방법에 대해 학습합니다.

[z/OS]
z/OS 시스템에서 자원 라우팅이 두 가지 방법으로 설정 가능합니다.
  • 대체 자원 구성.
  • 조치 알림 구성.
[AIX Solaris HP-UX Linux Windows]

분산 시스템에서 대체 자원을 구성해서만 자원 라우팅을 사용할 수 있습니다.

대체 자원 구성

데이터 소스와 연결 팩토리는 지정한 또는 기본 장애 임계값에 도달하면 장애 복구되거나 장애 이전으로 복구될 수 있습니다. 장애 복구가 발생하면 애플리케이션은 기본 자원 사용에서 대체 자원 사용으로 전환됩니다. 장애 이전으로 복구는 애플리케이션이 대체 자원에서 기본 자원으로 다시 전환될 때 발생합니다.

대체 자원은 다른 연결 팩토리 또는 데이터 소스 작성 방법과 동일하게 작성됩니다. 대체 자원 구성은 기본 자원 구성을 미러링해야 합니다. 예를 들어, 각 애플리케이션 및 자원에 대해 대체 자원 보안 구성 및 기본 자원 구성은 서로를 미러링하여 애플리케이션과 데이터베이스가 필수 자원에 액세스하도록 해야 합니다. 대체 자원이 작성된 후 대체 자원 백엔드 구성에 필요한 데이터베이스 값을 변경할 수 있습니다. 대체 자원이 호환 가능하지 않은 경우 장애 복구가 실패할 수 있습니다. 자원이 호환되지 않는 경우, 다음 오류가 발생할 수 있습니다. 존재하지 않는 테이블 또는 필드, 예상 레코드는 없고 예기치 못한 자원 오류가 있습니다. 테스트 옵션으로 대체 자원이 기본 데이터 소스로 구성되기 전에 애플리케이션에서 JNDI 이름을 기본 JNDI 이름에서 대체 JNDI 이름으로 변경하여 애플리케이션을 테스트할 수 있습니다.

기본 자원이 사용되면 대체 자원은 일시정지됩니다. 대체 자원이 일시정지되기 전에 대체 자원은 기본 사용 전에 사용 가능할 수 있습니다. 대체가 일시정지되기 전에 이를 사용하는 것은 기본 자원 전에 대체에 액세스해야 하는 특별한 이유가 있는 경우를 제외하고는 권장되지 않습니다. 특별한 이유의 예로는 호환성을 위한 애플리케이션 테스트가 있습니다.

대체 자원은 기본으로 사용할 수 없습니다. 장애 복구를 지원하는 백엔드가 포함된 관계형이 아닌 자원 어댑터를 장애 복구 기능에 사용하는 경우, 장애 복구가 이 백엔드에 대해 구성되지 않았는지 확인해야 합니다. 장애 복구는 testConnection 메소드를 구현하는 ManagedConnection 오브젝트가 포함된 관계형이 아닌 자원 어댑터에 대해 작동합니다. testConnection 메소드는 현재 사용 가능한 자원에 연결을 설정하기 전에 성공하기 위해 대체 및 기본 자원에 ping하는 데 사용됩니다. 자원 어댑터가 testConnection 메소드를 구현하지 않거나 testConnection이 javax.resource.NotSupportedException 오류를 처리하면 장애 복구 기능이 사용되지 않습니다.

testConnection 요구사항을 충족시키지 않는 자원 어댑터의 경우 부분 장애 복구를 사용할 수 있습니다. 기본 자원이 사용 가능한 경우 기본 자원에 MBean을 사용하여 수동으로 장애 이전으로 복구할 수 있습니다. 부분 장애 복구는 특성 enablePartialResourceAdapterFailoverSupport를 true로 설정하여 사용할 수 있습니다.

장애 복구 지원을 사용하기 전에 사용자의 시스템 환경 및 자원에 대해 이 기능의 적합성을 테스트하는 것이 좋습니다.

[z/OS]최적화된 로컬 어댑터에 대한 자세한 정보는 최적화된 로컬 어댑터 고가용성 지원 주제를 참조하십시오.

MBean 조작

failOverToAlternateResource

Values: 없음, 보유 또는 자동화됨. 기본값은 자동화된 장애 이전으로 복구가 없는 보유입니다.

Description: 대체 자원으로 수동 장애 복구. 이 조치는 기본 자원에서 발행됩니다.

failBackToPrimaryResource

Values: 없음, 보유 또는 자동화됨. 기본값은 자동화된 장애 복구가 있는 자동화됨입니다.

Description: 기본 자원으로 수동 장애 복구. 이 조치는 기본 자원에서 발행됩니다.

MBean 속성 특성

currentActivePool

Values: JNDI 이름을 포함하여 리턴된 값.

Description: 기본 및 대체 JNDI 이름이 현재 사용 중인 이름에 따라 리턴됩니다.

populateAlternateResource

Values: 부울

Description: False - 대체 자원 채우기 사용 안함. True - 대체 자원 채우기 사용. 이 조치는 대체 자원에서 발행됩니다.

resourceFailOver

Values: 부울

Description: False - 자원 장애 복구 사용 안함. True - 자원 장애 복구 사용. 이 조치는 기본 자원에서 발행됩니다.

resourceFailBack

Values: 부울

Description: False - 자원 장애 이전으로 복구 사용 안함. True - 자원 장애 이전으로 복구 사용. 이 조치는 기본 자원에서 발행됩니다.

[z/OS]

대체 자원으로 구성된 자원에 대해 modify 명령으로 수동 자원 라우팅

z/OS® 플랫폼에서 modify 명령으로 일부 MBean 기능을 사용할 수 있습니다. modify 명령은 수동으로 자원 장애 복구 지원 사용 안함, 자원 장애 복구 지원 사용, 구성된 대체 자원으로 장애 복구, 기본 구성된 자원으로 장애 이전으로 복구를 수행하는 데 사용됩니다. 명령 실행 방법 및 장애 복구 매개변수에 대한 자세한 내용은 주제 수정 명령의 내용을 참조하십시오.

[z/OS]

조치 알림 구성

조치 알림이 특정 자원에 대해 구성되고 해당 자원 시작이 지정한 또는 기본 임계값 이후에 실패하는 경우, WebSphere® Application Server for z/OS 런타임은 해당 특정 조치를 수행하도록 알림을 수신합니다. 조치는 구성 가능한 값입니다. 조치 코드는 이 주제에서 나중에 나오는 "사용자 정의 특성" 절에 있는 failureNotificationActionCode 특성 컨텐츠에 정의됩니다.

다양한 실패 알림 조치가 고가용성 환경을 지원하도록 디자인되어서 자원 장애가 발생하면 작업은 클러스터의 다른 서버로 라우트할 수 있습니다. 다음 조치 코드를 사용할 수 있습니다.
  • 조치 코드 1

    이 조치 코드는 메시지 BBOJ0130I 및 BBOJ0131I를 제어기의 하드카피 로깅 스트림으로 발행합니다. BBOJ0130I 메시지는 자원이 사용 불가능할 때 발행되고 BBOJ0131I는 자원이 다시 시작되어 사용 가능해질 때 발행됩니다. WebSphere Application Server는 이외의 다른 자동 조치를 사용하지 않습니다.

    조치 코드 1은 알림을 WebSphere 관리자에게 제공하여 수동 또는 자동 완화 조치는 애플리케이션 서버 밖에서 구성 가능합니다. BBOJ0130I에는 다음 정보가 포함됩니다.
    • 실패한 자원을 식별하는 JNDI 이름.
    • 실패한 자원이 사용되는 서버 이름.
    • 수행된 조치. 예: NONE, PAUSING LISTENERS
    BBOJ0131I에는 다음 정보가 포함됩니다.
    • 다시 시작된 자원을 식별하는 JNDI 이름.
    • 자원이 다시 시작되는 서버 이름.
    • 수행된 조치. 예: NONE, RESUMING LISTENERS
    • 조치가 수행되는 이유: 1: 정상 하위(servant) 리젼 가용성 알림. 2: 알 수 없는 자원 가용성.
  • 조치 코드 2

    이 조치는 이 조치가 구성되는 자원이 상주하는 서버에서 리스너를 일시정지한 후 재개합니다. 서버 리스너는 자원이 사용 불가능할 때 일시정지됩니다. 서버 리스너는 자원이 사용 가능할 때 재개됩니다. 프록시 서버 또는 On-Demand 라우터와 같은 고가용성을 지원하는 프론트 엔드 라우터와 결합되는 경우, 이 서버의 작업은 클러스터의 다른 서버로 라우트됩니다. 이 조치의 일부로 두 개의 정보 메시지가 제어기 리젼에 하드카피로 발행됩니다. BBOJ0130I 메시지는 자원이 사용 불가능할 때 발행되고 BBOJ0131I는 자원이 다시 시작되어 사용 가능해질 때 발행됩니다.

  • 조치 코드 3

    이 조치 코드는 이 조치가 구성된 이 자원을 사용하는 로컬에 설치된 모듈의 모든 애플리케이션을 중지하고 시작합니다. 애플리케이션은 애플리케이션이 사용하는 자원이 사용 불가능할 때 중지됩니다. 애플리케이션은 애플리케이션이 사용하는 자원이 사용 가능할 때 시작됩니다.

    이 조치의 일부로 두 개의 정보 메시지가 제어기 리젼에 하드카피로 발행됩니다. BBOJ0130I 메시지는 자원이 사용 불가능할 때 발행되고 BBOJ0131I는 자원이 다시 시작되어 사용 가능해질 때 발행됩니다.
    주의: 자원 참조가 정의되는 애플리케이션만 자원 장애가 발생하는 서버에서만 중지됩니다. 따라서, 애플리케이션이 클러스터에 설치된 경우 애플리케이션은 클러스터의 다른 서버에서 시작된 상태로 남습니다.

    메시지 BBOJ0130I 및 BBOJ0131I에는 다음 정보가 포함됩니다.

    BBOJ0130I:
    • 실패한 자원을 식별하는 JNDI 이름.
    • 실패한 자원이 사용되는 서버 이름.
    • 수행된 조치: 예: NONE, "PAUSING LISTENERS", "STOPPING APPLICATIONS THAT USE THIS RESOURCE"
    BBOJ0131I:
    • 다시 시작된 자원을 식별하는 JNDI 이름.
    • 자원이 다시 시작되는 서버 이름.
    • 수행된 조치: 예: NONE, "RESUMING LISTENERS", "STARTING APPLICATIONS THAT USE THIS RESOURCE"
    • 조치가 수행되는 이유: 1: 정상 하위(servant) 리젼 가용성 알림. 2: 알 수 없는 자원 가용성.

사용자 정의 특성

이 기능의 모든 특성은 특정 데이터 소스 또는 연결 팩토리에 대한 연결 풀에서 새 사용자 정의 특성으로 작성되어야 합니다. 관리 콘솔에서 알림이 사용되는 데이터 소스 또는 연결 팩토리로 이동하십시오. 연결 풀 특성 링크를 클릭하십시오. 풀 특성 패널에서 연결 풀 사용자 정의 특성 링크를 클릭하십시오. 자원 연결 풀에 대한 사용자 정의 특성 패널이 표시됩니다. 새로 작성을 클릭하여 다음에서 설명하는 대로 사용자 정의 특성을 작성하십시오.

[z/OS]failureNotificationActionCode
[z/OS]

Values: {1,2,3}

Description: failureNotificationActionCode 특성이 알림 기능 사용에 사용됩니다. 특성이 지정된 다음 유효한 정수 값 중 하나로 설정되지 않으면 알림 기능이 사용되지 않습니다.
  • 1 = BBOJ0130I 메시지가 이 자원이 사용 불가능함을 표시하며 하드카피로 출력됩니다. 자원이 사용 가능해지면 BBOJ0131I 메시지가 자원이 다시 사용 가능해졌음을 표시하며 하드카피로 출력됩니다.
  • 2 = 리스너 일시정지 명령은 서버에 발행되며 서버가 새 수신 작업을 수신하지 못하도록 합니다. BBOJ0130I 메시지는 수행된 조치를 설명하기 위해서도 발행됩니다. 자원이 사용 가능하면 리스너 재개 명령이 발행되어 서버가 다시 수신 작업을 수신하도록 합니다. BBOJ0131I 메시지는 수행된 조치를 설명하기 위해 발행됩니다.
  • 3 = 이 자원을 사용하는 로컬에 설치된 모듈이 포함된 모든 애플리케이션이 이 서버에서 중지됩니다. BBOJ0130I 메시지는 수행된 조치를 설명하기 위해서도 발행됩니다. 자원이 다시 사용 가능해지면 이 애플리케이션은 시작됩니다. BBOJ0131I 메시지는 수행된 조치를 설명하기 위해서도 발행됩니다.
failureThreshold

Values: 정수 및 > 0이어야 합니다.

Description: failureThreshold 특성은 failureNotificationActionCode 또는 alternateResourceJNDIName 특성이 유효한 값으로 설정된 경우에만 읽힙니다. failureThreshold 특성이 설정되지 않거나 올바르지 않은 수로 설정되면 기본값인 5가 사용됩니다. failureThreshold에 대해 지정된 정수 값은 알림이 전송 또는 장애 복구가 발생하기 전에 특정 자원에 대해 발생해야 하는 연속된 자원 예외 수입니다.

다음은 이 값이 작동하는 방법에 대한 예제입니다. failureThreshold 특성이 데이터 소스 B에 대해 5로 설정되면 데이터 소스 B는 알림 전송 또는 자원 장애 복구 전에 이 장애 발생 사이에서 성공된 시도 없이 연결 설정 시도 중에 5개의 연속된 자원 예외를 가져와야 합니다. 5개의 연속 자원 예외가 발생한 후에 알림 전송 또는 장애 복구 시도가 수행됩니다. 그렇지만 다중 스레드 환경에서 장애 임계값에 도달한 후에 알림이나 장애 복구의 타이밍은 추가 자원 예외 후에 발생할 수도 있습니다.
주의: 자원 예외 카운터는 자원 사이에서 공유되지 않습니다. 자원 예외는 장애 임계값에 도달하려면 연속되어야 합니다.
alternateResourceJNDIName

Values: 직접 JNDI 이름을 포함하는 문자열 값.

Description: 대체 연결 팩토리 또는 데이터 소스 자원은 기본 자원과 유사해야 합니다. 장애 복구 기능을 사용하려는 대체 자원의 JNDI 이름을 제공하십시오.

고급 장애 복구 특성

resourceAvailabilityTestRetryInterval

Values: int 값, 기본값은 10입니다.

Description: 기본적으로 테스트 연결 간격은 10초입니다. 매 10초마다 테스트 연결 스레드가 기본 자원 테스트를 시도합니다. 시스템 자원에 따라 이 값은 1 - MAXINIT초로 변경 가능합니다.

enablePartialResourceAdapterFailoverSupport

Values: 부울 값, 기본값은 false입니다.

Description: 이 값이 true인 경우 대체 자원 장애 복구가 발생하지만 기본으로의 장애 이전으로 복구는 수동입니다. 이 특성은 사용 중인 자원 어댑터가 연결 장애 복구에 대한 요구사항을 충족시키지 못하는 경우에 설정 가능합니다. 예를 들어, testConnection이 구현되지 않거나 지원되지 않는 예외를 처리합니다.

disableResourceFailOver

Values: 부울 값, 기본값은 false입니다.

Description: 값이 true인 경우 자동 장애 복구가 발생하지 않습니다.

disableResourceFailBack

Values: 부울 값, 기본값은 false입니다.

Description: 값이 true인 경우 자동 장애 이전으로 복구가 발생하지 않습니다.

populateAlternateResource

Values: 부울 값, 기본값은 false입니다.

Description: 값이 true인 경우 대체 자원이 최대 연결에 대한 연결로 채워집니다. 모든 시도는 대체 자원을 최대 연결로 유지하기 위해 수행됩니다. 데이터베이스가 대체 서버로 이동하며 무효 연결은 제거되고 채우기 스레드는 데이터베이스가 사용 가능해질 때 대체 자원을 다시 채웁니다. MBean 조작 disablePopulateAlternateResource 및 enablePopulateAlternateResource를 사용하여 대체 자원을 동적으로 사용하거나 사용하지 않을 수 있습니다.
주의: 대체 자원 채우기를 사용하면 장애 복구 중에 성능이 향상되지만 대체 자원의 채우기를 유지하는 것은 비용이 많이 듭니다. 일반적으로 한 개의 데이터 소스에 필요한 연결 수의 두 배로 유지하는 비용이 듭니다. 연결은 큰 오브젝트이기 때문에 연결 유지는 서버에서 추가 메모리 자원 및 데이터베이스에 추가 자원을 사용합니다.

주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cdat_dsfailover
파일 이름:cdat_dsfailover.html