장기 실행 프로세스는 여러 트랜잭션에 걸쳐 있습니다. 하부 구조 장애 때문에 트랜잭션이 실패하는 경우, 비즈니스 플로우 관리자는 이러한 장애로부터 자동으로 복구하는 기능을 제공합니다.
장기 실행 프로세스에서 비즈니스 플로우 관리자는 스스로 후속 탐색을 트리거하는 요청 메시지를 전송합니다. 각 수신 요청 메시지에 대해, 새 트랜잭션이 시작되고 요청 메시지는 처리를 위해 비즈니스 플로우 관리자에 전달됩니다. 각 트랜잭션은 다음 조치로 구성됩니다.
원인 | 응답 |
---|---|
사용 불가능한 하부 구조 | 정상적인 처리 모드에서, 지정된 시간동안 하부 구조가 다시 운영 가능할 때까지 모든 메시지가 사용 가능한 채로 유지됩니다. 이 문제점은 예를 들어 데이터베이스 장애에 의해 발생될 수 있습니다. |
손상된 메시지 | 지정된 재시도 횟수 후에 메시지가 보류 큐에 들어갑니다. 보류 큐에서 트랜잭션을 재시도하기 위해 메시지를 다시 입력 큐로 이동할 수 있습니다. |
하부 구조가 사용 불가능하면 유지 큐가 꽉 차고, 메시지 처리는 정상적인 처리에서 작업중지 모드로 전환됩니다. 작업중지 모드에서는 하부 구조가 다시 사용 가능할 때까지 메시지 처리가 느려집니다. 하부 구조가 사용 가능해지면 메시지 처리는 정상 모드로 다시 전환됩니다.
표준 처리동안 메시지는 다음과 같이 처리됩니다.
작업중지 모드에서는 메시지 처리가 주기적으로 시도됩니다. 처리되지 못하는 메시지는 전달 계수나 유지 큐 순회 계수를 증가시키지 않고 다시 입력 큐에 놓입니다. 메시지가 성공적으로 처리될 수 있을 때 메시지 처리는 정상 모드로 다시 전환됩니다.
재시도 한계는 보류 큐에 놓이기 전에 유지 큐를 통해 메시지를 전송할 수 있는 최대 횟수를 정의합니다.
유지 큐에 넣으려면 메시지의 처리가 세 번 실패해야 합니다.
예를 들어, 재시도 한계가 5이면 마지막 재시도가 시작되기 전에 메시지가 유지 큐를 다섯 번 통과해야 합니다(3 * 5 = 15번 실패해야 함). 마지막 재시도가 두 번 이상 실패하면 메시지가 보류 큐로 갑니다. 이는 메시지가 보류 큐에 들어가기 전에 (3 * RetryLimit) + 2번 실패해야 함을 의미합니다.
안정적인 하부 구조에서 실행 중인 성능이 중요한 응용프로그램에서는 재시도 한계가 작아야 합니다(예: 1 또는 2). 재시도 한계가 0으로 설정된 경우, 반복적으로 실패 메시지가 세 번 재시도되고 즉시 보류 큐로 이동합니다.
이 비즈니스 플로우 관리자 특성은 관리 콘솔에서 지정됩니다. 구성 탭에서 를 클릭하십시오.
, 또는 Business Process Choreographer가 클러스터에서 구성된 경우 을 클릭하십시오. 비즈니스 통합 아래에 있는유지 큐 메시지 한계는 유지 큐에 넣을 수 있는 최대 메시지 수를 정의합니다. 유지 큐가 오버플로우되면 시스템은 작업중지 모드가 됩니다. 한 메시지가 실패하자 마자 시스템이 작업중지 모드에 들어가게 하려면 값을 0으로 설정하십시오. 비즈니스 플로우 관리자가 하부 구조 장애를 추가로 허용하게 하려면 값을 늘리십시오.
이 특성은 관리 콘솔에서 지정됩니다. 구성 탭에서 를 클릭하십시오.
, 또는 Business Process Choreographer가 클러스터에서 구성된 경우 을 클릭하십시오. 비즈니스 통합 아래에 있는관리자는 보류 또는 유지 큐에서 내부 큐로 메시지를 이동시킬 수 있습니다. 관리 콘솔, 관리 스크립트 또는 실패 이벤트 관리자를 사용하여 완료할 수 있습니다.