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는 팀이 자신의 서비스에 직접 연결해 쓰는 주관이 없는 구성 요소를 제공합니다.
- 카테고리
- 백엔드
- 언어
- Go
- 라이선스
- Apache-2.0
관련 프로젝트
NATS
Apache-2.0단순함과 낮은 운영 부담을 중심으로 만들어진, 클라우드 네이티브 애플리케이션을 위한 경량 고성능 메시징 시스템입니다.
- 백엔드
Quarkus
Apache-2.0빠른 시작 시간과 낮은 메모리 사용량을 위해 설계된, 컨테이너와 서버리스에 맞춘 Kubernetes 네이티브 Java 프레임워크입니다.
- 백엔드
RabbitMQ
MPL-2.0AMQP, MQTT, STOMP를 지원하며 신뢰할 수 있는 큐, 라우팅, 발행/구독 메시징으로 서비스를 분리하는 성숙하고 널리 사용되는 메시지 브로커입니다.
- 백엔드
Apache Kafka
Apache-2.0데이터를 영구적이고 재생 가능한 로그로 저장하는 분산 이벤트 스트리밍 플랫폼으로, 전통적인 1:1 큐잉이 아니라 고처리량 실시간 파이프라인을 위해 만들어졌습니다.
- 백엔드
잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기