LRA 분산 트랜잭션 모니터링
1. LRA 분산 트랜잭션 모니터링
LRA 분산 트랜잭션 모니터링은 웹어드민을 통해서 확인 할 수 있으며, LRA 모니터링, LRA RECOVERY 모니터링 2개의 화면이 있다.
1.1. LRA 모니터링
화면은 온라인 관리 → LRA 모니터링 메뉴에 있으며, 현재 LRA가 진행 중인 트랜잭션에 대해서 모니터링 할 수 있다.
다음은 LRA 모니터링 화면이다.
화면에 정의되어 있는 각 컬럼에 대한 사항은 다음과 같다.
컬럼명 | 설명 | 비고 |
---|---|---|
State Type |
LRA Record가 Commit 된 상태 인지를 나타내는 속성 |
기본적으로 COMMITTED(데이터 값 : 1) 상태로 관리한다. |
UID |
LRA ID를 의미하며, LRA 트랜잭션 수행 시 Unique하게 채번된 ID를 말한다. |
참고: BXM의 GUID의 개념이다. |
Lock ID |
중북 처리를 방지하기 위한 ID |
|
Status |
LRA 트랜잭션 진행 상태 |
|
Create Time |
생성 시간 |
|
Update Time |
수정 시간 |
Status는 LRA 트랜잭션의 현재 상태를 의미하며, 정의되는 각 상태는 다음과 같다.
속성명 | 설명 |
---|---|
Active |
LRA 트랜잭션이 생성되고 진행 중인 상태를 의미한다. |
Cancelling |
LRA 트랜잭션을 취소하기 위해 취소 요청이 수행 중인 상태를 의미한다. |
Cancelled |
LRA 트랜잭션의 취소가 완료된 상태를 의미한다. |
FailedToCancel |
LRA 트랜잭션 취소 실패가 된 상태를 의미한다. |
Closing |
LRA 트랜잭션을 완료하기 위해 온료 요청이 수행 중인 상태를 의미한다. |
Closed |
LRA 트랜잭션이 정상적으로 완료가 된 상태를 의미한다 |
FailedToClose |
LRA 트랜잭션 완료 처리가 실패가 된 상태를 의미한다. |
1.2. LRA RECOVERY 모니터링
화면은 온라인 관리 → LRA RECOVERY 모니터링 메뉴에 있으며, LRA 트랜잭션이 최종 실패한 트랜잭션에 대해서 모니터링 할 수 있다.
해당 화면을 통해서 복구 처리를 할 수 있다.
다음은 LRA RECOVERY 모니터링 화면이다.
LRA RECOVERY 모니터링 화면에 정의되어 있는 각 컬럼에 대한 사항은 LRA 모니터링화면과 동일하다.
1.3. LRA 모니터링 / LRA RECOVERY 모니터링 상세
상세화면은 LRA 모니터링 / LRA RECOVERY 모니터링 상세화면은 동일하다.
다음은 상세화면의 기본 정보 화면이다.
기본 정보 화면에 정의되어 있는 각 속성에 대한 사항은 다음과 같다.
컬럼명 | 설명 | 비고 |
---|---|---|
State Type |
LRA Record가 Commit 된 상태 인지를 나타내는 속성 |
기본적으로 COMMITTED(데이터 값 : 1) 상태로 관리한다. |
UID |
LRA ID를 의미하며, LRA 트랜잭션 수행 시 Unique하게 채번된 ID를 말한다. |
참고: BXM의 GUID의 개념이다. |
LRA ID |
UID와 동일하며, LRA Coordinator 주소와 함께 정의되어 있다. |
|
Client ID |
LRA 트랜잭션을 발생 시킨 Client ID. |
Rest API가 정의된 Controller + Method를 의미한다. |
Type Name |
LRA 트랜잭션의 Type |
"StateManager/BasicAction/TwoPhaseCoordinator/LRA" 로 고정 처리한다. |
Recovering |
LRA 트랜잭션 RECOVERY 상태 |
|
Status |
LRA 트랜잭션 진행 상태 |
|
Active |
LRA 트랜잭션이 Active한 상태인지 여부 값 |
|
Create Time |
생성 시간 |
|
Update Time |
수정 시간 |
다음은 상세화면의 LRA Record 정보 화면이다.
LRA Record 정보 화면에 정의되어 있는 각 속성에 대한 사항은 다음과 같다.
컬럼명 | 설명 | 비고 |
---|---|---|
LRA ID |
UID와 동일하며, LRA Coordinator 주소와 함께 정의되어 있다. |
|
Parent ID |
부모의 LRA ID |
LRA 트랜잭션이 REQUIRE_NEW 속성으로 분리할 경우 부모의 LRA ID를 의미한다. |
Recovery URI |
LRA 트랜잭션에 대한 RECOVERY 시 호출 하는 URL이다. |
|
Complete URI |
LRA 트랜잭션 완료에 대한 보상거래 호출 URI |
비즈니스 로직이 정상적으로 완료가 되었을 때 LRA Coordinator에 의해 호출 된다. |
Compensate URI |
LRA 트랜잭션 에러에 대한 보상거래 호출 URI |
비즈니스 로직엣 에러가 발생 되었을 때 LRA Coordinator에 의해 호출 된다. |
After URI |
정상 혹은 완료 시 호출 하는 URI이다. |
현재는 정의하지 않는다. |
Status |
LRA Record의 상태 |
|
Termination Data |
보상 처리를 위해 저장되는 복구 데이터 |
LRAContext.storeTerminationData() Util에 의해 저장된다. |