OpenSource-Hub
C

celld

SHA-256
2.3k stars·개발 도구·SHA-256 체크섬 확인됨

자체 호스팅 분산 Durable Objects 데몬으로, 자신의 머신에서 Cloudflare Workers를 실행할 수 있게 해줍니다. 각 객체는 독립적인 SQLite 데이터베이스이며, S3 스토리지 버킷을 통해서만 조정되고 제어 플레인이나 합의 메커니즘이 필요 없습니다. Cloudflare를 직접 사용하는 것과 비교하여, celld는 완전한 데이터 소유권과 제로 락인을 제공합니다. 일반적인 분산 데이터베이스와 비교하여, 구조적으로 자연스럽게 샤딩되어 각 객체가 독립적인 데이터베이스를 갖습니다.

스마트 다운로드

Download 버전 다운로드

v0.1.0 · 20.3 MB

각 Worker 객체를 데이터베이스 실행하듯 실행합니다. 샤딩 내장, 자체 호스팅, 컨트롤 플레인 불필요.

주요 기능

  • 각 Durable Object는 독립적인 SQLite 데이터베이스로, 자연적으로 샤딩되어 단일 장애 지점의 영향이 극히 작습니다.
  • 노드는 S3 호환 스토리지 버킷을 통해서만 조정되며, 컨트롤 플레인이나 합의 서비스가 필요하지 않습니다.
  • 유휴 유닛은 자동으로 절전 모드로 전환되어 리소스 점유가 거의 0에 가깝습니다.
  • 표준 AWS 자격 증명 체인을 지원하며 R2, MinIO, AWS S3 등과 호환됩니다.
  • 내장된 diagnose 명령으로 노드 생존 상태, 프로토콜 호환성 및 리소스 부하를 확인할 수 있습니다.

할 수 없는 것

  • celld의 노드 간 HTTP 통신은 TLS 암호화를 제공하지 않으므로, 광고 주소(advertised address)를 신뢰할 수 있는 사설 네트워크 또는 암호화된 오버레이 네트워크(WireGuard/Tailscale 등)에 배치해야 하며, 공용 네트워크 포트를 직접 노출하지 마십시오. 버킷의 액세스 자격 증명은 전체 플릿(fleet)의 관리자 권한에 해당하므로 반드시 안전하게 보관하십시오. S3 호환 스토리지 버킷을 사전에 계획해야 하며, 각 노드가 동일한 버킷을 가리켜야 협력적으로 작동할 수 있습니다. 현재 프로덕션 환경에서는 기본적으로 부하 오프로딩이 비활성화되어 있으므로, CELLD_MAX_RESIDENT_CELLS 등의 환경 변수를 직접 설정하여 활성화해야 합니다.

사용 사례

  • 자체 서버 또는 사설 네트워크에서 Cloudflare Workers 및 Durable Objects 실행
  • 완전한 데이터 주권이 필요하거나 클라우드 공급업체 종속을 피하려는 엣지 컴퓨팅 또는 실시간 애플리케이션

상세 설명

celld는 오픈소스 데몬으로, 자신의 머신에서 Cloudflare Workers와 Durable Objects를 실행할 수 있게 해줍니다. 각 객체는 독립적인 SQLite 데이터베이스이며 이름으로 주소가 지정되고, 사용자가 소유한 S3 호환 스토리지 버킷에 복제됩니다. 노드는 오직 해당 버킷을 통해서만 조정됩니다. 제어 플레인도, 멤버십 프로토콜도, 합의 서비스도 없습니다. 객체 스토리지의 compare-and-swap 작업 덕분에 어떤 순간에도 단 하나의 노드만 특정 셀을 소유할 수 있습니다. 유휴 셀은 거의 리소스를 차지하지 않는 상태로 절전합니다. 버킷은 영속적인 source of truth이며, 노드는 언제든 교체할 수 있습니다. 이러한 설계는 애플리케이션을 자연스럽게 샤딩하여, 단일 공유 데이터베이스를 사용할 때와 달리 경합을 피하고 장애 폭발 반경을 줄입니다. 이 프로젝트는 Apache-2.0 라이선스를 채택하고 있으며, Deno Land가 적극적으로 유지보수하고 있습니다.

태그

durable-objectscloudflare-workersself-hostedsqlites3

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

설치 스크립트를 통해 celld 바이너리를 다운로드합니다: curl -fsSL https://celld.dev/install.sh | sh

4

~/.local/bin을 PATH에 추가하고(프롬프트가 표시되면), esbuild가 설치되어 있는지 확인합니다(celld deploy에 필요).

5

celld deploy . --bucket s3://your-bucket을 실행하여 애플리케이션을 배포한 다음, celld --bucket s3://your-bucket --listen 0.0.0.0:8080 --advertise your-ip:8080을 시작합니다.

설치 가이드
  1. 설치 스크립트를 통해 celld 바이너리를 다운로드합니다: curl -fsSL https://celld.dev/install.sh | sh
  2. ~/.local/bin을 PATH에 추가하고(프롬프트가 표시되면), esbuild가 설치되어 있는지 확인합니다(celld deploy에 필요).
  3. celld deploy . --bucket s3://your-bucket을 실행하여 애플리케이션을 배포한 다음, celld --bucket s3://your-bucket --listen 0.0.0.0:8080 --advertise your-ip:8080을 시작합니다.
파일 무결성

SHA-256 체크섬 확인됨

GitHub 공식 Release 페이지에서 추출된 체크섬

SHA256 체크섬

139354c28618fe648864598f5cdf69ae91a176b32b90418a813e026e86be9a7c

이 체크섬은 GitHub Release 페이지에서 추출되었습니다. 다운로드 후 파일 무결성을 확인하세요.

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

공식 제거 스크립트를 실행하면 안전하게 제거할 수 있습니다: curl -fsSL https://celld.dev/uninstall.sh | sh. 스크립트는 설치된 바이너리와 버전 파일을 정리합니다.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스Apache-2.0
마지막 업데이트2026-08-08T03:44:23Z
GitHub 저장소공식 웹사이트

유사한 프로젝트