프로젝트 소개
AetherGrid는 리소스 요구 사항과 제약 조건에 따라 컴퓨팅 노드 간에 워크로드를 스케줄링하고, 대기열에서 예약, 실행, 완료, 실패, 재시도, 취소에 이르는 전체 작업 수명 주기를 관리하는 분산 AI 워크로드 오케스트레이터입니다. 인프라 의존성이 없는 분리된 도메인 코어, 이벤트 기반 조정 루프, 임대 기반 실행 소유권을 갖춘 엄격한 도메인 주도 설계를 기반으로 구축되었습니다.
프로젝트의 명시된 동기는 대규모 스케줄링의 어려운 문제, 즉 장애 시 배타적 실행 소유권, 부분 장애 후 조정, 강제 리소스 제한을 해결하는 것입니다. 도메인 계층(Job, Node, Worker, Lease, Event, ApiKey 애그리게이트)에는 스케줄링 알고리즘과 수명 주기 상태 머신이 FastAPI나 psycopg를 import하지 않는 순수 Python으로 포함되어 있습니다. 애플리케이션 서비스는 도메인 객체와 리포지토리를 조정하고, 인프라는 ORM이 아닌 원시 psycopg를 사용하여 모든 리포지토리에 PostgreSQL 구현을 제공하며, 로컬 개발에서는 일부 리포지토리에 SQLite 구현을 제공합니다. 프레젠테이션 계층은 FastAPI이고, 프론트엔드는 TypeScript를 사용하는 React입니다.
설명된 주요 기능에는 모든 경로(키 발급 엔드포인트 포함, 첫 번째 키는 데이터베이스에 직접 접근하는 로컬 스크립트로만 생성)를 게이트하는 API 키 인증, CANCELLING 상태를 통한 실행 중인 작업 취소를 포함한 명시적 작업 상태 전환, 작업별 수명 주기 기록 페이지, 제약 조건 인식 최적 적합 할당자, 노드 드레이닝, 작업자 등록 및 하트비트, HTTP를 폴링하고 실제 하위 프로세스로 작업을 실행하는 독립형 작업자 에이전트 프로세스, 지속적인 갱신이 있는 임대 기반 실행 소유권, 명시적 실행 시작 확인, 2단계 종료(SIGTERM 후 SIGKILL)가 있는 실제 하위 프로세스 실행, 노드 활성 상태 추적, 제한된 재시도가 있는 조정, 도메인 이벤트 기록, 클러스터 전체 실시간 이벤트 피드, 작업자 가시성, 다중 페이지 대시보드가 포함됩니다.
README는 엔지니어링 결정 기록을 강조합니다. /docs/adr에 39개의 ADR이 문서화되어 있으며, 조정 루프, 작업 회수 및 조정 복구, 실제 작업 실행, 지속적인 임대 갱신, API 키 인증, 스케줄링 정책의 도메인 소유권, 독립형 작업자 에이전트, 임대 갱신을 통한 취소, 멱등 작업자 등록, 취소 중간에 중단된 작업 회수, 이벤트 루프에서 클러스터 틱 실행 이동, RUNNING 전환 유지, 작업자 ID가 아닌 임대 ID로 여러 임대 펜싱 수정과 같은 주제를 다룹니다. README는 도메인, 애플리케이션, 인프라, API 계층에 걸쳐 347개의 테스트가 있으며, 리포지토리 구현이 동일하게 동작함을 증명하는 계약 테스트도 포함한다고 명시합니다.
프로젝트에는 실제 Postgres, 실제 인증, API 키 게이트 엔드포인트를 갖춘 Render에 배포된 라이브 데모가 포함됩니다. MIT 라이선스이며 Python 3.12, FastAPI, PostgreSQL, React/TypeScript, Docker Compose를 사용합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.