Logo programu | |
Autor | Microsoft |
---|---|
Pierwsze wydanie | 16 października 2019; ponad 4 lata temu |
Aktualna wersja stabilna | 1.12.0 – 12 października 2023; ponad 7 miesięcy temu[1] |
Język programowania | Go |
Platforma sprzętowa | wieloplatformowy |
Rodzaj | chmurowy system wykonawczy |
Licencja | Apache License |
Strona internetowa |
Dapr (ang. Distributed Application Runtime) – wolne i otwarte rozproszone środowisko uruchomieniowe zaprojektowane do wspierania natywnych chmur obliczeniowych i bezserwisowego przetwarzania danych. Od 3 listopada 2021 roku jest projektem inkubowanym przez Cloud Native Computing Foundation[2].
Dapr kodyfikuje praktyki i wzorce tworzenia aplikacji chmurowych w formie niezależnych, otwartych API zwanych blokami, które służą potem do wykorzystania w docelowych aplikacjach. Każdy z takich bloków jest niezależny zarówno od pozostałych, jak i od platformy, na której docelowa aplikacja na być uruchamiana[3].
Aplikacja jako mikroserwis Serwisy napisane w Go, Python, .NET, … | ||||||
↕ ↕ ↕ | ||||||
HTTP API / gRPC API | ||||||
Wywołanie serwis-do- serwisu |
Zarządzanie stanem |
Publikowanie i subskrypcja |
Łączenie zasobów & triggery |
Aktorzy | Rozproszone śledzenie |
Rozszerzalne… |
Dapr | ||||||
Dowolna chmura obliczeniowa lub infrastruktura brzegowa |
Dapr wykorzystuje architekturę motocykla z bocznym wózkiem – jest uruchamiany jako osobny kontener lub proces działając obok docelowej aplikacji. Nie jest konieczne integrowanie poszczególnych elementów Dapra w kodzie aplikacji, ale może ona korzystać z udostępnianego przez niego API poprzez HTTP lub gRPC. Obecnie wspieranymi językami oprogramowania są C++, C#, Go, Java, Javascript, Python, PHP oraz Rust[5].