본문으로 건너뛰기
FindOpenSource

Dapr

상태 관리, 발행/구독 메시징, 서비스 호출, 워크플로 등 마이크로서비스의 구성 요소를, 어떤 언어에서든 사이드카 API를 통해 사용할 수 있게 해주는 이식 가능한 런타임입니다.

개요

Dapr(Distributed Application Runtime)는 마이크로서비스, 이벤트 기반 시스템, AI 에이전트를 만들 때 서비스마다 동일한 분산 시스템 기반 작업을 직접 만들지 않아도 되게 해주는, 오픈소스이자 CNCF 졸업 런타임입니다. 애플리케이션과 나란히 사이드카로 실행되며, 서비스 간 호출, 상태 관리, 발행/구독 메시징, 워크플로 오케스트레이션, 시크릿 관리 같은 구성 요소를 표준 HTTP와 gRPC로 노출하므로, Dapr 전용 SDK 없이도 어떤 언어에서든 사용할 수 있습니다. 다만 .NET, Java, Python, Go, JavaScript/TypeScript, Rust용 네이티브 SDK도 제공됩니다.

이러한 기능들은 애플리케이션 코드에 직접 박혀 있는 것이 아니라 Dapr의 API를 통해 접근하기 때문에, 어떤 메시지 브로커를 쓸지, 어떤 상태 저장소를 쓸지, 어떤 시크릿 볼트를 쓸지 같은 하부 인프라를 애플리케이션 코드 변경 없이 설정만으로 교체할 수 있습니다. 같은 구성 요소가 Kubernetes, 다른 클라우드, 엣지, 로컬 머신에서 일관되게 동작합니다.

Dapr는 마이크로서비스나 이벤트 기반 백엔드를 구축하면서 분산 시스템의 기본 요소를 서비스마다 재구현하는 대신 인프라로서 활용하고 싶은 팀에 적합합니다. 카탈로그에 있는 Supabase나 Appwrite 같은 BaaS(Backend as a Service) 플랫폼과는 다른 추상화 계층으로, 그것들은 자체 데이터 모델을 가진 주관적인(opinionated) 백엔드를 제공하는 반면, Dapr는 팀이 자신의 서비스에 직접 연결해 쓰는 주관이 없는 구성 요소를 제공합니다.

카테고리
백엔드
키워드
distributed-runtimemicroservicessidecarpubsub
언어
Go
라이선스
Apache-2.0

잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기