본문 바로가기
WIKI 기술 지식 베이스

외부 통합

원문 보기 위키 갱신

외부 통합 (External integrations)

카탈로그를 외부 소스와 통합하는 여러 방법을 소개하는 문서예요.

출처: 문서

본문

Backstage는 엔티티 디스크립터 YAML 파일을 통한 카탈로그 데이터 가져오기를 기본 지원해요. 조직이 이미 다른 시스템에서 소프트웨어와 소유권을 추적하고 있다면, 모든 것을 YAML 파일에 중복해서 넣기보다는 그 시스템을 카탈로그와 통합할 수 있어요.

배경 (Background)

카탈로그 백엔드는 구성된 소스에서 데이터를 지속적으로 수집해 데이터베이스에 저장해요. 프론트엔드 플러그인은 서비스 API를 통해 백엔드와 통신하며, 백엔드는 모든 것을 최신 상태로 유지하기 위해 처리 루프(processing loop)를 실행해요. 'The Life of an Entity'에서 이 과정을 자세히 다루므로 먼저 읽어볼 가치가 있어요.

외부 데이터를 카탈로그로 가져오는 방법은 세 가지가 있어요. 각각 다른 상황에 맞춰져 있어요.

엔티티 공급자 (Entity providers)

엔티티 공급자는 엔티티의 원래 소스로서 카탈로그의 가장자리에 위치해요. 언제, 어떻게 데이터를 가져올지에 대한 완전한 제어를 제공하며, 엔티티 집합에 대해 세부적인 업데이트를 수행할 수 있어요 — 모든 것을 한 번에 교체하거나 개별 추가·제거를 발행할 수 있어요.

예약(schedule)에 따라 또는 웹훅 같은 이벤트에 반응하여 카탈로그에 동기화하려는 원격 시스템이 있을 때 엔티티 공급자를 사용해요. 이것이 가장 일반적인 통합 패턴이에요.

전체 워크스루는 '사용자 지정 엔티티 공급자'를 참고하세요.

사용자 지정 프로세서 (Custom processors)

프로세서는 카탈로그의 처리 루프 안에서 실행돼요. 수집된 후 엔티티를 보강(enrich), 검증, 변환할 수 있으며, 발견한 내용에 기반해 하위 엔티티를 만들 수 있어요.

사용자 지정 location 유형에서 읽거나, 엔티티가 카탈로그를 통과할 때 어노테이션을 달거나, 특정 kind의 엔티티를 검증하고 싶을 때 프로세서를 사용해요.

전체 워크스루는 '사용자 지정 프로세서'를 참고하세요.

증분 엔티티 공급자 (Incremental entity providers)

증분 엔티티 공급자는 페이지네이션을 지원하지만 메모리에 맞지 않을 수 있는 대규모 데이터 소스를 위한 엔티티 공급자의 특수한 형태예요. 여러 "버스트(burst)"에 걸쳐 페이지 단위로 데이터를 수집하며, 전체 데이터 집합을 한 번에 들고 있지 않고 삭제와 업데이트를 처리해요.

데이터 소스가 단일 조회에 너무 크거나, 페이지네이션과 백오프(back-off) 동작에 대해 세밀한 제어가 필요할 때 증분 엔티티 공급자를 사용해요.

전체 워크스루는 '증분 엔티티 공급자'를 참고하세요.

더 알아보기 (Learn more)