본문으로 건너뛰기

© 2026 Molayo

GitHub릴리즈2026. 05. 07. 03:06

Hatchet: 대규모 배경 작업, AI 에이전트 및 내구성 워크플로우 오케스트레이션 플랫폼

요약

Hatchet은 대규모 배경 작업(background tasks), AI 에이전트, 그리고 내구성 있는 워크플로우를 오케스트레이션하는 포괄적인 플랫폼입니다. Python, TypeScript, Go, Ruby 등 다양한 언어를 지원하며, 큐잉, 자동 재시도, 실시간 모니터링, 로깅 기능을 제공하여 신뢰성과 확장성이 필수적인 시스템에 적합합니다. Hatchet Cloud 사용은 물론 자체 호스팅(self-hosting)이 가능하며, 특히 Postgres를 내구성 레이어로 사용하여 구현의 용이성을 높였습니다.

핵심 포인트

  • 다양한 언어 지원: Python, TypeScript, Go, Ruby 등 여러 언어를 지원하여 폭넓은 애플리케이션 통합이 가능합니다.
  • 완벽한 오케스트레이션 기능: 단순 배경 작업부터 DAG 기반 워크플로우까지, 재시도 정책, 예약 실행, 이벤트 트리거 등 모든 기능을 제공합니다.
  • 내구성 및 확장성 강화: Postgres를 내구성 레이어로 사용하여 높은 신뢰성을 보장하며, 수평적 확장성과 관측 가능성이 뛰어납니다.
  • 운영 용이성: Hatchet Cloud 사용을 권장하며, 자체 호스팅도 지원하여 배포 환경에 유연하게 대응할 수 있습니다.
  • 엔터프라이즈 기능 제공: 멀티 테넌시(Multi-tenancy), SSO, 사용자/역할 관리 등 기업 수준의 기능을 기본으로 갖추고 있습니다.

Hatchet 는 규모에 맞춘 배경 작업 (background tasks), AI 에이전트, 그리고 내구성 있는 워크플로우를 오케스트레이션하는 플랫폼입니다. Python, TypeScript, Go, Ruby 로 작성된 애플리케이션을 지원하며, Hatchet Cloud 를 통해 서비스로 사용하거나 자체 호스팅 (self-hosting) 을 할 수 있습니다. Hatchet 는 큐잉, 자동 재시도 (automatic retries), 내구성, 실시간 모니터링, 알림 및 로깅을 위한 완전한 플랫폼을 제공합니다.

Hatchet 를 시작하는 가장 빠른 방법은 Hatchet Cloud 에 가입하여 사용해 보는 것입니다! 자체 호스팅을 계획하더라도 이 방법을 권장하며, 완전히 배포된 Hatchet 플랫폼이 어떻게 보이는지 확인해 볼 수 있습니다.

Hatchet 를 로컬에서 실행하려면 설치의 가장 빠른 경로는 Hatchet CLI 를 설치하는 것입니다 (MacOS, Linux 또는 WSL 에서) - 이는 작동하기 위해 로컬에 Docker 가 설치되어 있어야 합니다:

curl -fsSL https://install.hatchet.run/install.sh | bash
hatchet --version
hatchet server start

자체 호스팅 및 클라우드 사용을 위한 완전한 문서는 docs 를 확인하세요.

Hatchet 는 배경 작업, AI 에이전트 또는 기타 유형의 장기 실행 워크플로우를 실행하는 데 사용할 수 있습니다. **정확성, 신뢰성, 수평 확장성 (horizontal scalability), 그리고 관측 가능성 (observability)**이 필수적인 시스템에 대한 기능 완결 솔루션으로 설계되었습니다. 기술적 관점에서 다른 솔루션과 구별되는 점은 작업 런타임 및 관측 가능성 시스템 모두에서 내구성 레이어로 Postgres 를 사용한다는 점이며, 이를 통해 자체 호스팅을 특히 쉽게 만듭니다.

Hatchet 로 구축할 수 있는 워크플로우의 일부 엔드 투 엔드 예제는 cookbooks 을 확인하세요.

  • 배경 작업: Hatchet 는 단순 함수로 정의된 일회성 배경 작업을 지원합니다. 구독 (subscriptions) 을 지원하며 fire-and-forget 및 fire-and-wait 작업을 모두 지원합니다

  • 재시도 (Retries): 작업에 대한 유연하고 구성 가능한 재시도 정책, 선택적 지수 백오프 (exponential backoff)

  • Cron jobs 및 예약 실행: 미래의 특정 시점에 작업을 예약하기 위한 기능

  • 엄격한 조건 (예: worker labels) 또는 더 복잡한 가중치 스케줄링 규칙 (worker affinity) 을 사용한 작업 라우팅 - 이벤트 기반 트리거 및 리스너를 사용하여 이벤트 기반, 고도로 분산된 시스템을 구축

  • 상류 데이터 소스에서 Hatchet 작업을 쉽게 트리거하기 위한 Webhook 기반 트리거

  • 내구성 있는 작업 (Durable tasks): 실패에서 쉽게 복구할 수 있는 오류 허용성 있는 장기 실행 워크플로우를 구축하는 데 사용

  • DAGs (directed acyclic graphs): 데이터 파이프라인 및 단순 워크플로우를 구축하는 데 사용. 내구성 있는 작업과 DAG 를 선택하는 가이드를 확인하세요

  • 내구성 있는 대기 (durable sleep), 이벤트 대기, 또는 두 가지의 조합을 사용한 복잡한 중단/재개 조건

  • 우선순위: 백필 작업 (backfill jobs) 과 같이 지연 감수성이 없는 작업보다 중요한 작업을 먼저 실행할 수 있도록 함

  • 속도 제한 (Rate limiting): 세 번째 party API 를 처리하거나 동적 속도 제한 (dynamic rate limits) 을 사용하여 사용자당 속도 제한을 강제하는 데 사용

  • 공중 정책 (concurrency policies) 을 사용하여 동적 키에 따라 작업의Concurrency 한계를 설정할 수 있는 Hatchet 의 공정 스케줄링

  • Worker slots: 작업자가 처리할 수 있는 작업보다 많은 작업을 수행하지 못하도록 보장하기 위한 기능

  • 알림, 모니터링 및 로깅을 위한 실시간 웹 UI

  • OpenTelemetry (Hatchet 의 내장 컬렉터 또는 외부 destinations 사용)

  • Prometheus metrics
    멀티 테넌시를 기본으로 하므로 단일 Hatchet 인스턴스가 여러 팀을 지원할 수 있음 - 사용자 및 역할

  • 자동 확장 및 페이-as-you-go 플랜

  • 멀티 리전 배포

  • SSO

  • 모니터링, 로깅 및 관측 가능성 성능 개선

가장 최신 문서는 https://docs.hatchet.run 에서 찾을 수 있습니다.

  • Discord - 유지 관리자 및 커뮤니티와 연락하고 소통하기 위한 최적의 장소
  • Github Issues - 버그 보고를 제출하기 위해 사용됨
  • Github Discussions - 비동기 통신에 적합한 심층 기술적 토론을 시작하기 위해 사용됨
  • Email - Hatchet Cloud 지원 및 청구, 데이터 삭제 등 관련 문의를 처리하기 위한 최적의 수단

Hatchet vs Durable Execution Platforms (Temporal, DBOS)

Hatchet 의 durable tasks 기능은 Temporal 또는 DBOS 워크플로우에 대한 플러그인 대체품입니다. 또한 다음 기능을 제공합니다:

  • OpenTelemetry 를 활용한 durable tasks 의 엔드 투 엔드 관측 가능성 (monitoring 및 logging 포함)
  • 스케일 가능한 워크플로우 실행을 위한 기능, 예를 들어 rate limiting, 복잡한 routing, worker-level slot control
  • 멀티 테넌시 지원 및 사용자/역할 관리가 기본으로 제공됨

Hatchet 는 durable execution 을 더 쉽게 사용하게 하는 것 외에도, 일반 목적의 queue, DAG 기반 orchestrator, durable execution engine 또는 세 가지 모두를 사용하여 팀이 하나의 플랫폼에서 async 와 background processing 을 중앙 집중화할 수 있게 합니다.

Hatchet vs Task Queues (Celery, BullMQ)

BullMQ 및 Celery 같은 전통적인 task queues 는 durability 와 throughput 의 트레이드오프를 가집니다. 작업은 실행 중 broker(일반적으로 Redis 또는 RabbitMQ) 에 저장되지만 이후에는 저장되지 않습니다. 이는 복잡한 워크플로우 구축을 어렵게 만듭니다. 왜냐하면 중간 상태가 영구적이지 않기 때문입니다. 또한 실패하여 queue 에서 제거된 작업을 복구하고 재실행하는 것도 어렵습니다. 결과적으로 이러한 라이브러리를 대규모로 사용할 때 커스텀 admin tooling 이 필요합니다.

반면 Hatchet 는 durable task queue 입니다. 이는 모든 실행의 기록 (정의된 retention period 까지) 을 저장하여 쉬운 모니터링, 디버깅 및 durable task 기능을 가능하게 합니다. Hatchet 의 durability 기능은 일부 오버헤드를 추가합니다: Hatchet 은 10k tasks/second 로 load-tested 되었지만, Redis 또는 RabbitMQ 기반 시스템보다 더 많은 리소스를 소비하며, 후자는 훨씬 높은 throughput 를 달성할 수 있습니다.

Hatchet vs DAG-based platforms (Airflow, Prefect, Dagster)

이 도구들은 일반적으로 데이터 엔지니어를 위해 설계되었으며, 고 부하 애플리케이션의 일부로 실행되도록 설계되지 않았습니다. 주로 더 높은 latency 와 더 높은 비용이며, 주요 selling point 는 일반적인 datastore 및 connector 와의 통합입니다.

Hatchet 를 사용할 때: DAG 기반 프레임워크를 사용하고, 커스텀 integrations 과 함수를 작성하며, 더 높은 throughput (>100/s) 를 필요로 할 때

다른 DAG 기반 플랫폼을 사용할 때: 기본으로 작동하는 다른 datastore 및 connector 를 사용하고자 할 때

발견한 버그는 GitHub issues 를 통해 제출해 주세요.
Discord 의 #contributing 채널에서 작업하고 싶은 것을 알려주세요. 이는 프로젝트 방향성을 형성하는 데 도움이 되며 협력을 훨씬 더 쉽게 만들어줄 것입니다!

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Go (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0