コンテンツへスキップ
FindOpenSource

Dapr

状態管理、Pub/Sub メッセージング、サービス呼び出し、ワークフローといったマイクロサービスの構成要素を、任意の言語からサイドカー API 経由で利用できるポータブルなランタイムです。

概要

Dapr(Distributed Application Runtime)は、マイクロサービス、イベント駆動システム、AI エージェントを、各サービスごとに同じ分散システムの基盤処理を自前で作り込むことなく構築するための、オープンソースかつ CNCF を卒業したランタイムです。アプリケーションと並んでサイドカーとして動作し、サービス間呼び出し、状態管理、Pub/Sub メッセージング、ワークフローオーケストレーション、シークレット管理といった構成要素を標準の HTTP と gRPC 経由で公開するため、Dapr 専用の SDK がなくてもどの言語からでも利用できます。とはいえ .NET、Java、Python、Go、JavaScript/TypeScript、Rust 向けのネイティブ SDK も用意されています。

これらの機能はアプリケーションコードに直接組み込まれるのではなく Dapr の API 経由でアクセスされるため、どのメッセージブローカーを使うか、どの状態ストアを使うか、どのシークレットボールトを使うかといった基盤インフラは、アプリケーションコードを変更することなく設定だけで切り替えられます。同じ構成要素が Kubernetes、他のクラウド、エッジ、ローカルマシンのいずれでも一貫して動作します。

Dapr は、マイクロサービスやイベント駆動型バックエンドを構築していて、分散システムのプリミティブをサービスごとに再実装するのではなくインフラとして利用したいチームに向いています。カタログにある Supabase や Appwrite のような BaaS(Backend as a Service)プラットフォームとは異なる抽象化レイヤーです。それらは独自のデータモデルを持つ、こだわりのあるバックエンドを提供するのに対し、Dapr はチームが自分たちのサービスに組み込む、こだわりのない構成要素を提供します。

カテゴリ
バックエンド
キーワード
distributed-runtimemicroservicessidecarpubsub
言語
Go
ライセンス
Apache-2.0

誤りを見つけましたか? GitHub で修正を提案する