Postgres만으로 구현하는 내구 워크플로우 시스템 Absurd 등장!

by DD
1개월 전
조회수 12

Postgres를 활용하여 내구성이 뛰어난 워크플로우(Durable Workflow)를 구현하는 Absurd 소개

별도의 메시지 브로커(Message Broker)나 조정 계층(Coordination Layer) 없이 Postgres 데이터베이스(Database) 내에서 모든 기능 수행

SDK 경량화 및 언어 독립성(Language-agnostic)을 통해 개발 편의성(Development Convenience)을 제공

Postgres를 '만능 서버(Everything-Server)'로 보는 긍정적 시각(Positive View)과 함께 기술 확장에 대한 기대감 존재

Postgres를 활용한 내구 워크플로우의 핵심 원리

Absurd는 내구성이 필요한 작업을 Postgres 데이터베이스(Database)저장 프로시저(Stored Procedure)를 통해 처리한다. 작업은 여러 단계(Step)로 나뉘며, 각 단계의 성공적인 완료 시 반환값이 저장된다. 작업 실패 시에는 마지막 체크포인트(Checkpoint)부터 재시도하며, 'sleep' 또는 'await event'를 통해 특정 시간 또는 이벤트(Event)를 기다릴 수 있다. 데이터 격리 아키텍처(Data Isolation Architecture)를 통해 상태 관리의 복잡성을 줄였다.

SDK 경량화 및 언어 독립성 확보

Absurd는 SDK를 가볍게 유지하여 다양한 프로그래밍 언어에서 사용할 수 있도록 설계되었다. 제공되는 SDK는 TypeScript, Python, Go를 지원하며, 개발자는 각 언어에 맞는 방식으로 워크플로우를 정의하고 실행할 수 있다. 언어 독립성(Language-agnostic)은 특정 기술 스택에 종속되지 않고 유연하게 시스템을 구축할 수 있게 해준다. 데이터 미저장 정책(Zero-Retention Policy)을 통해 보안성을 강화했다.

Postgres의 역할 확장에 대한 커뮤니티 반응

커뮤니티에서는 Postgres가 다양한 기능을 통합하는 '만능 서버(Everything-Server)'로 진화하는 것에 주목한다. Postgres의 확장성(Extensibility)을 활용하여 복잡한 시스템을 단순화하려는 시도로 평가하며, 데이터베이스(Database) 레이어에서 워크플로우를 처리하는 방식에 대한 긍정적인 반응이 주를 이룬다. 하지만, Postgres에 모든 책임을 집중시키는 것에 대한 잠재적인 성능 및 관리상의 문제(Performance and Management Issues)에 대한 우려도 제기된다.

Absurd Workflows: Durable Execution With Just Postgres

댓글 0

첫 번째 댓글을 남겨보세요!