본문 바로가기
새로 나온 제품을 먼저 만나는 곳

Celld

S3 버킷 하나로 조율되는 자체 호스팅 Durable Objects.

기타15일 전
카테고리
기타
웹사이트
github.com
언어
영어
등록일
15일 전
스타
4,095
포크
136

denoland/celld ↗· Rust· Apache-2.0· 최근 커밋 3일 전

Celld는 Deno 팀이 내놓은 오픈소스 데몬으로, Cloudflare Workers와 Durable Objects를 자기 서버에서 돌립니다. 객체 하나하나가 이름으로 지정되는 독립 SQLite 데이터베이스이고, 그 내용은 사용자가 소유한 S3 호환 버킷으로 계속 복제됩니다. 노드끼리 맞춰 보는 것은 이 버킷 하나뿐이라 컨트롤 플레인도, 합의 서비스도, 멤버십 프로토콜도 없습니다. 지금 어느 노드가 그 셀의 주인인지는 오브젝트 스토리지의 compare-and-swap이 정하고, 셀이 옮겨 가거나 깨어나면 새 주인이 버킷에서 데이터베이스를 복원해 실행을 이어받으므로 노드는 언제든 갈아 끼워도 됩니다.

객체마다 데이터베이스가 나뉘어 있으니 애플리케이션은 구조적으로 샤딩되고, 공용 데이터베이스 하나에서 생기던 경합과 장애 파급은 운영으로 누르는 대신 설계에서 빠지며, 놀고 있는 셀은 자원을 거의 쓰지 않는 상태로 잠듭니다. 운영은 출처를 확인할 수 있는 바이너리나 공식 컨테이너를 띄우고, deploy 명령으로 Wrangler 프로젝트를 올리고, diagnose 명령으로 각 노드의 상주 셀과 메모리, CPU, 셰딩 상태를 훑는 식입니다. 노드 사이 통신은 플릿 시크릿으로 HMAC 인증하되 공개망이 아니라 신뢰할 수 있는 사설망을 전제로 합니다. 런타임과 호환 범위는 아직 굳지 않았다고 만든 쪽이 미리 적어 두었습니다.

이 제품이 마음에 드세요?