Repolode
cloudflare

cloudflare/workerd

Cloudflare Workers를 구동하는 것과 동일한 코드로 만든 JavaScript/Wasm 서버 런타임으로, 자체 호스팅과 로컬 개발에 사용할 수 있습니다.

스타
9,036
포크
796
열린 이슈
813
마지막 커밋
4시간 전

어떤 프로젝트인가요?

workerd는 Cloudflare Workers용으로 작성된 JavaScript 및 WebAssembly 코드를 실행하는 서버 런타임입니다. Workers 애플리케이션을 자체 호스팅하는 애플리케이션 서버, 로컬 개발 및 테스트 도구, 또는 요청을 가로채고 수정해 라우팅하는 프로그래밍 가능한 정방향·역방향 HTTP 프록시로 사용할 수 있습니다.

애플리케이션은 동일한 스레드와 프로세스 안에서 서로를 호출하는 나노서비스로 나뉘며, 리소스는 전역 네임스페이스 대신 Cap'n Proto 설정 파일의 capability 바인딩을 통해 연결됩니다. 내장 API는 fetch() 같은 웹 플랫폼 표준을 따르며, 각 버전에는 호환성 날짜가 지정되어 이전 API 동작을 에뮬레이션할 수 있습니다.

프로젝트는 C++로 작성되고 Bazel로 빌드되며, 사전 빌드된 바이너리는 npm을 통해 배포됩니다. Linux, macOS, Windows에서 테스트되며 MINIFLARE_WORKERD_PATH 환경 변수를 통해 Wrangler와 함께 사용할 수 있습니다. 프로젝트에서는 보안이 강화된 샌드박스가 아니라고 명시하므로, 신뢰할 수 없는 코드는 VM이나 이와 유사한 격리 환경에서 실행해야 합니다.

핵심 기능

  • 01Cloudflare Workers용으로 작성된 JavaScript 및 Wasm 코드를 실행합니다.
  • 02애플리케이션을 프로세스 내에서 서로 호출하는 나노서비스로 나눕니다.
  • 03capability 바인딩을 사용하는 Cap'n Proto 파일로 설정합니다.
  • 04이전 API 동작을 에뮬레이션하는 호환성 날짜를 지원합니다.
  • 05프로그래밍 가능한 정방향·역방향 HTTP 프록시로 실행할 수 있습니다.
  • 06--socket-fd를 통해 systemd 소켓 상속을 지원합니다.

활용 사례

  • 원래 Cloudflare Workers용으로 설계된 애플리케이션을 자체 호스팅합니다.
  • Wrangler를 사용해 Workers 코드를 로컬에서 개발하고 테스트합니다.
  • 요청을 수정하거나 라우팅하는 프로그래밍 가능한 HTTP 프록시를 구축합니다.

빠른 시작

  1. 1

    Bazel로 workerd 바이너리를 빌드합니다

    bazel build //src/workerd/server:workerd
  2. 2

    서비스와 소켓을 정의하는 설정 파일(예: my-config.capnp)을 작성합니다

  3. 3

    workerd로 설정 파일을 사용해 서비스를 실행합니다

    workerd serve my-config.capnp

사용 전 알아둘 점

  • workerd는 보안이 강화된 샌드박스가 아니므로, 신뢰할 수 없는 코드는 가상 머신이나 다른 안전한 샌드박스 안에서 실행하세요.
  • 소스에서 빌드하려면 대규모 툴체인이 필요합니다. Linux에서는 clang 22 이상, libc++ 22 이상, LLD 22 이상이 필요하고, macOS에서는 Xcode 16.3이 필요합니다.
  • x86-64 및 arm64 기반 Linux, macOS, Windows에서만 공식적으로 테스트되었습니다.

토픽

자주 묻는 질문

workerd은(는) 무엇인가요?
Cloudflare Workers를 구동하는 것과 동일한 코드로 만든 JavaScript/Wasm 서버 런타임으로, 자체 호스팅과 로컬 개발에 사용할 수 있습니다. workerd는 Cloudflare Workers용으로 작성된 JavaScript 및 WebAssembly 코드를 실행하는 서버 런타임입니다. Workers 애플리케이션을 자체 호스팅하는 애플리케이션 서버, 로컬 개발 및 테스트 도구, 또는 요청을 가로채고 수정해 라우팅하는 프로그래밍 가능한 정방향·역방향 HTTP 프록시로 사용할 수 있습니다.
workerd은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
workerd은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
workerd은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. workerd의 마지막 커밋은 2026년 10월 21일입니다.
workerd은(는) 어디에 사용할 수 있나요?
원래 Cloudflare Workers용으로 설계된 애플리케이션을 자체 호스팅합니다. Wrangler를 사용해 Workers 코드를 로컬에서 개발하고 테스트합니다. 요청을 수정하거나 라우팅하는 프로그래밍 가능한 HTTP 프록시를 구축합니다.
workerd는 어떻게 설치하나요?
Bazel로 workerd 바이너리를 빌드합니다: bazel build //src/workerd/server:workerd 서비스와 소켓을 정의하는 설정 파일(예: my-config.capnp)을 작성합니다 workerd로 설정 파일을 사용해 서비스를 실행합니다: workerd serve my-config.capnp
workerd은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/cloudflare/workerd

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트