UStackUStack
Outpost icon

Outpost

Outpost는 앱 이벤트를 웹훅·큐 등 목적지로 안정적으로 전달하는 오픈소스 인프라로, 매니지드 서비스 또는 Go/Docker 셀프호스팅 제공

Outpost

Outpost란?

Outpost는 이벤트를 웹훅이나 여러 이벤트/큐 시스템 같은 사용자 선호 목적지로 전달하는 오픈소스 인프라입니다. 앱이 이벤트 알림을 안정적으로 전송할 수 있도록 설계되었으며, 웹훅 전달 로직을 직접 구축·유지하는 것에 비해 운영 복잡성을 줄이는 데 중점을 둡니다.

Outpost는 Hookdeck의 매니지드 서비스로 사용하거나 오픈소스 코드를 셀프호스팅할 수 있습니다. 핵심 목적은 아웃바운드 이벤트 전달로, 이벤트를 게시하면 Outpost가 토픽/구독과 전달 보장을 사용해 구성된 목적지로 라우팅합니다.

주요 기능

  • 최소 한 번 전달 보장: 메시지를 최소 한 번 전달하며, 이벤트 손실 방지를 목표로 합니다.
  • 토픽 기반 구독: 이벤트 유형을 목적지에 매핑하기 쉽게 퍼블리시/구독 패턴을 제공합니다.
  • 자동 및 수동 재시도: 자동 재시도를 구성하거나 API 또는 사용자 포털을 통해 재시도를 트리거합니다.
  • 다중 전달 목적지: 웹훅 전달 외에 AWS SQS, RabbitMQ, Pub/Sub, EventBridge, Kafka 등 이벤트 목적지 지원 (페이지에 나열된 대로).
  • 멀티 테넌트 지원: 단일 Outpost 배포에서 여러 테넌트를 실행합니다.
  • 개발자 포털 및 목적지 제어: 메트릭 확인 및 이벤트 목적지 관리, 디버깅, 관찰.
  • OpenTelemetry 지원: OpenTelemetry 추적, 메트릭, 로그 포함.
  • 멱등성 및 전달 헤더: 멱등성 헤더, 타임스탬프, 서명(서명 로테이션 포함)을 제공하며, 옵트아웃 메커니즘 포함.
  • 원하는 방식으로 배포 (매니지드 또는 셀프호스팅): 셀프호스팅을 위한 Go 바이너리 또는 Docker 이미지로 제공; 매니지드나 셀프호스팅 모두 동일한 Outpost 사용.

Outpost 사용 방법

  1. 배포 모델 선택: 매니지드 서비스(“시작하기”)로 시작하거나 제공된 배포(Go 바이너리 또는 Docker 이미지)를 사용해 오픈소스 셀프호스팅 버전 실행.
  2. 목적지 정의: 하나 이상의 전달 대상 구성 (예: 웹훅 엔드포인트 또는 큐/버스 목적지).
  3. 토픽 및 구독 설정: 이벤트 토픽(이벤트 유형)과 이를 수신할 목적지 간 매핑 생성.
  4. 이벤트 게시: Outpost API를 사용해 이벤트 전송 또는 Outpost가 읽을 수 있는 큐에 게시.
  5. 운영 및 문제 해결: 사용자 포털을 사용해 전달 메트릭 관찰, 목적지 관리, 필요 시 재시도 트리거.

사용 사례

  • 앱 이벤트의 안정적 아웃바운드 웹훅 전달: 앱 이벤트(user.created, order.created 등)를 최소 한 번 전달과 재시도로 웹훅 목적지에 라우팅.
  • 생산자와 전달 분리를 위한 큐 기반 게시: 이벤트를 큐에 게시하고 Outpost가 이를 읽어 다운스트림 시스템으로 전달하도록 구성.
  • 다중 이벤트 목적지 팬아웃: 토픽/구독 구성으로 동일 또는 관련 이벤트 토픽을 서로 다른 목적지(예: 웹훅 + 메시지 큐/버스)로 전송.
  • 멀티 테넌트 이벤트 전달: 단일 Outpost 배포에서 여러 테넌트 서비스, 테넌트별 전달 구성 격리.
  • 이벤트 배관의 디버깅 및 운영 가시성: 포털로 목적지 상태와 전달 결과 추적, 실패 시 수동 재시도 사용.

자주 묻는 질문

  • Outpost를 직접 실행할 수 있나요, 아니면 매니지드 서비스가 필요하나요? Outpost는 매니지드 서비스와 셀프호스팅을 위한 오픈소스 소프트웨어로 모두 제공됩니다.

  • Outpost는 재시도를 어떻게 처리하나요? 자동 재시도를 지원하며 API 또는 사용자 포털을 통한 수동 재시도도 가능합니다.

  • Outpost가 제공하는 전달 보장은 무엇인가요? 페이지에 메시지가 최소 한 번 전달된다고 명시되어 있습니다.

  • Outpost에 관찰 기능이 있나요? 네. OpenTelemetry 추적, 메트릭, 로그 지원을 포함하며, 메트릭과 목적지 관찰을 위한 개발자 포털을 제공합니다.

  • Outpost는 웹훅 전달을 어떻게 서명하고 보호하나요? 페이지에 타임스탬프 및 서명 헤더(서명 로테이션 포함), 멱등성 헤더와 옵트아웃 메커니즘을 언급합니다.

대안

  • 커스텀 웹훅 디스패처 직접 구축: 웹훅 전달, 재시도, 보안을 커스텀으로 구현. 운영 및 안정성 부담이 앱 팀으로 전가됨.
  • 아웃바운드 전달 레이어가 없는 범용 이벤트/큐 시스템: 이벤트를 저장/전송하는 플랫폼(큐 또는 버스) 사용 후, 웹훅/목적지로 푸시하는 소비자 로직 직접 구현.
  • 기타 매니지드 웹훅/이벤트 전달 서비스: 이벤트를 웹훅 엔드포인트로 라우팅하는 호스티드 서비스 사용; 재시도 처리, 전달 보장, 다중 목적지 전달 기준으로 비교.
  • 셀프호스팅 이벤트 라우팅 컴포넌트: 프로듀서에서 목적지로의 이벤트 라우팅에 초점 맞춘 오픈소스 또는 셀프호스팅 컴포넌트 탐색, 특히 구독/토픽 의미론과 운영 도구 포함된 것.
Outpost | UStack