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].
Charakterystyka
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].
Podejście architektoniczne w Dapr:[4]
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].
Zobacz też
Przypisy
Windows APIs |
|
---|
Grafika |
|
---|
Dźwięk |
|
---|
Multimedia |
|
---|
Dostęp do danych |
|
---|
Komunikacja |
|
---|
Zarządzanie |
|
---|
Model komponentu |
|
---|
Rozwój sterownika |
|
---|
Bezpieczeństwo i dyskrecja |
|
---|
.NET |
|
---|
Mikroserwisy |
|
---|
Wstrzymane lub anulowane |
|
---|