PI_PO

SAP PO Adapter Engine 처리 흐름 및 백로그 관리, 블랙리스트 기능 정리

피오농부 2025. 5. 25. 06:53
반응형
2021-04-10에 작성된 글입니다.

 

SAP PO를 사용하는 기업에서는 메시지 처리 흐름과 Adapter Engine 상태 모니터링이 매우 중요합니다. 이 글에서는 SAP PO Adapter Engine의 구조부터 백로그 발생 원인, 블랙리스트 기능까지 체계적으로 설명드립니다.


목차

  1. Adapter Engine 상태 확인: 기본 개념
  2. 백로그(Backlog)란? 불필요한 메시지 정리법
  3. SAP PO 메시지 처리 흐름
  4. Module Processor 역할과 주요 스레드
  5. Message Queue 작동 원리
  6. 메시지 상태별 코드 정리
  7. 블랙리스트 기능: 서버 장애 예방
  8. 마무리 요약

1. Adapter Engine 상태 확인: 기본 개념

SAP PO에서는 Configuration and Monitoring Home > Adapter Engine > Adapter Engine Status 메뉴를 통해 Adapter 상태를 실시간으로 확인할 수 있습니다. 여기서 BacklogMessage Overview를 통해 시스템의 부하 상태, 메시지 흐름, 장애 여부를 점검할 수 있습니다.


2. 백로그(Backlog)란? 불필요한 메시지 정리법

백로그는 처리되지 않은 메시지가 누적된 상태로, 특히 EOIO(순차처리) 인터페이스에서 오류 발생 시 메시지가 HOLD 상태로 남아 쌓이는 경우가 많습니다.
이런 불필요한 로그는 수동으로 제거하거나, 자동 배치 작업을 설정하여 정리할 수 있습니다.

  • 경로: Messaging Overview > Additional Data > Message in EOIO Sequences
  • HOLD 상태 메시지 수동 캔슬 가능
  • 정리 후 시스템 부하 경감 효과

3. SAP PO 메시지 처리 흐름

Adapter Engine에서는 다음과 같은 절차로 메시지를 처리합니다.

  1. 소스 시스템에서 메시지 호출 또는 Sender 채널이 폴링
  2. Module Processor 실행 (CallSapAdapter 포함)
  3. Message Queue로 전달 (Dispatcher Queue에 적재)
  4. Target System으로 메시지 전송

모든 처리는 내부 DB 테이블(예: BC_MSG, BC_MSG_AUDIT)에 기록되어 메시지 상태를 추적할 수 있습니다.


4. Module Processor 역할과 주요 스레드

Module Processor는 채널 유형에 따라 다음과 같은 스레드를 실행합니다:

  • SAP_AFScheduler.Worker
  • JDBC_Sender
  • HTTP Worker
  • Proxy_Sender

CallSapAdapter는 반드시 마지막 단계에서 실행되어야 하며, 모듈 중복 등록 시 처리 순서에 주의가 필요합니다.


5. Message Queue 작동 원리

Dispatcher Queue는 메시지를 다음과 같이 분류합니다:

  • Send: 비동기 아웃바운드
  • Rcv: 비동기 인바운드
  • Call: 동기 아웃바운드
  • Rqst: 동기 인바운드

Queue는 어댑터 단위로 4개씩 생성되며, 병렬처리 개수와 메시지 우선순위 설정을 통해 백로그를 줄일 수 있습니다.


6. 메시지 상태별 코드 정리

상태 코드 설명

NDLV Not Delivered – 전달 실패
TBDL To Be Delivered – 전송 대기
DLNG Delivering – 전송 중
HOLD Hold – 보류 상태
DLVD Delivered – 전송 완료
FAIL Failed – 실패
WAIT Waiting – 대기 중

정상 메시지 플로우는 TBDL → DLNG → DLVD, 실패 시 FAIL로 전환됩니다.


7. 블랙리스트 기능: 서버 장애 예방

블랙리스트 기능은 문제가 되는 메시지를 자동으로 격리하여 반복적인 시스템 장애를 방지합니다.

  • DLNG 상태 메시지가 2회 이상 실패 시 자동 NDLV 상태 전환
  • 클러스터 환경에서 한 노드 장애 발생 시 다른 노드로 재할당
  • 재시작 후에도 문제 메시지 무한 루프를 막아줌

메시지가 블랙리스트에 격리되면 아래 경로에서 확인 가능합니다:

Message Monitor > Technical Attributes > 'Blacklisted' 체크


8. 마무리 요약

SAP PO Adapter Engine은 메시지 수신부터 전송까지 다양한 단계를 거치며 처리됩니다.
불필요한 백로그 정리와 블랙리스트 기능을 이해하면 시스템 안정성을 확보할 수 있습니다.
장애 예방을 위해선 정기적인 모니터링과 자동화된 알림 설정도 고려해보세요.


📌 참고 링크:

  • SAP NWA 접속 후 'AdapterMessageMonitoringVi' 검색 → WSDL 사용
반응형