Pełna nazwa Dapr to "Distributed Application Runtime", czyli "Distributed Application Runtime". Dapr to projekt open source zainicjowany przez Microsoft i obecnie jest częścią projektu CNCF Incubator.
Dowolny język, dowolny framework, gdziekolwiek
Distributed Application Runtime (DAPR) dostarcza API upraszczające łączność mikroserwisów. Niezależnie od tego, czy komunikujesz się z usługą telefoniczną, czy publikuje/subskrybuje wiadomości, Dapr pomoże Ci pisać odporne i bezpieczne mikroserwisy.
Pozwalając sidecarowi Dapr radzić sobie ze złożonymi wyzwaniami, takimi jak odkrywanie usług, integracja z brokerem wiadomości, szyfrowanie, obserwowalność i zarządzanie sekretami, możesz skupić się na logice biznesowej i utrzymać kod prosty. Każde z API będących blokami jest niezależne, co oznacza, że możesz używać jednego, kilku lub wszystkich w swojej aplikacji. Można wykorzystać następujące elementy budulcowe:
| podzespół | opis | | Logowanie do linku jest widoczne. | Elastyczne połączenia service-to-service wspierają wywołania metod na usługach zdalnych, w tym na próbach, niezależnie od lokalizacji w wspieranym środowisku hostingowym. | | Logowanie do linku jest widoczne. | Dzięki zarządzaniu stanem do przechowywania i zapytań par klucz/wartość możesz łatwo pisać długoletnie, wysoko dostępne, stanowe i bezstanowe usługi w swojej aplikacji. Magazyny stanów są podłączalne, a przykładami są AWS DynamoDB, Azure CosmosDB, Azure SQL Server, GCP Firebase, PostgreSQL czy Redis, między innymi. | | Logowanie do linku jest widoczne. | Publikowanie wydarzeń i tematów subskrypcji między usługami umożliwia architekturę opartą na zdarzeniach upraszczając skalowalność poziomą i umożliwiając jej adaptację do awarii. Dapr oferuje gwarancje wiadomości przynajmniej jednorazowo, TTL wiadomości, grupy konsumenckie oraz inne zaawansowane funkcje. | | Logowanie do linku jest widoczne. | Wiązanie zasobów za pomocą wyzwalaczy opiera się dalej na architekturze opartej na zdarzeniach, która umożliwia skalowanie i odporność poprzez odbiór i wysyłanie zdarzeń z dowolnego zewnętrznego źródła, takiego jak bazy danych, kolejki, systemy plików itp. | | Logowanie do linku jest widoczne. | Wzorce dla obiektów stanowych i bezstanowych, które ułatwiają współbieżność dzięki metodom i enkapsulacji stanów. Dapr oferuje szereg funkcji podczas działania Aktora, w tym współbieżność, stan i zarządzanie cyklem życia dla aktywacji/dezaktywacji Aktora, a także timery i przypomnienia o wybudzaniu Aktora. | | Logowanie do linku jest widoczne. | Dapr wydaje metryki, logi i śledzenia do debugowania i monitorowania Dapr oraz aplikacji użytkowników. Dapr obsługuje rozproszone śledzenie, wykorzystując standard W3C Trace Context oraz Open Telemetry, aby łatwo diagnozować i obsługiwać połączenia między usługami produkcyjnymi do różnych narzędzi monitorujących. | | Logowanie do linku jest widoczne. | API Secrets Management integruje się z publiczną chmurą oraz lokalnym przechowywaniem tajemnic, aby pobierać sekrety do wykorzystania w kodzie aplikacji. | | Logowanie do linku jest widoczne. | API konfiguracyjne umożliwia pobieranie i subskrybowanie elementów konfiguracji aplikacji z magazynu konfiguracji. | | Logowanie do linku jest widoczne. | API Distributed Locks umożliwia Twojej aplikacji uzyskanie blokady dla dowolnego zasobu, który zapewnia jej wyłączny dostęp, dopóki aplikacja nie zwolni blokady lub nie nastąpi okres dzierżawy. |
Oficjalna strona internetowa:Logowanie do linku jest widoczne. Dokumentacja:Logowanie do linku jest widoczne. Dapr dla deweloperów .NET:Logowanie do linku jest widoczne.
Dapr oferuje różnorodne SDK i frameworki, co ułatwia rozpoczęcie tworzenia w Dapr w preferowanym przez Ciebie języku.
Aby użycie Dapr było bardziej naturalne dla różnych języków, zawiera także specyficzne dla języka SDK dla:
- C++
- Iść
- Jawa
- JavaScript
- .SIEĆ
- PHP
- Pyton
- Rdza
Linux instaluje rozproszone środowisko uruchomieniowe Dapr
Zainstaluj Dapr CLI
Najpierw przygotuj serwer dla systemu CentOS 7, ze względu na problemy środowiskowe w kraju, prosimy o ręczną instalację dapr-cli za pomocą następującego polecenia:
Sprawdź instalację
Zainstaluj usługę Docker
Zainstaluj usługę Docker na systemie, lekko (Docker jest wymagany w zalecanym środowisku programistycznym). Chociaż można inicjalizować Dapr bez polegania na Dockerze, część dalszych rozwojów opiera się na Dockerze. )
Inicjalizuj Dapr
Użyj CLI, aby zainicjować Dapr na swoim lokalnym komputerze.
Dapr działa jako sidecar z Twoją aplikacją. W trybie self-hosted oznacza to, że jest to proces na Twoim lokalnym komputerze. Inicjując, Dapr, ty:
- Pobierz i zainstaluj lokalnie binarny wózek Dapr.
- Użyj Dapr, aby stworzyć środowisko programistyczne, które upraszcza tworzenie aplikacji.
Inicjalizacja Dapr obejmuje:
- Uruchom instancję kontenera Redis, aby służyła jako lokalny magazyn stanowy i broker wiadomości.
- Uruchom instancję kontenera Zipkin dla obserwacji.
- Użyj powyższych definicji komponentów, aby stworzyć domyślny folder komponentów.
- Uruchom Dapr, aby umieścić instancję kontenera serwisowego dla lokalnego wsparcia uczestników.
Domyślnie inicjalizacja Dapr pobiera plik binarny i pobiera obrazy z sieci, aby skonfigurować środowisko programistyczne. Jednak Dapr obsługuje także instalację offline z wcześniej pobranymi artefaktami, ponieważProblemy środowiskowe w kraju, inicjalizacja wymaga instalacji offline, pobierz plik daprbundle_linux_amd64.tar.gz,/root directory。
Adres do pobrania:Logowanie do linku jest widoczne.
Polecenie brzmi następująco:
Sprawdź wersję Dapr
CLI tworzy także domyślny folder komponentów z wieloma plikami YAML zawierającymi definicje magazynów stanów, pub/subs oraz zipkinów. Dapr sidecar odczytuje te elementy i używa:
Polecenie brzmi następująco:
Zainstaluj Dapr Dashboard
Dapr Dashboard dostarcza informacji o aplikacjach, komponentach, konfiguracjach i usługach płaszczyzny sterowania Dapr. Użytkownicy mogą przeglądać metadane, pliki manifestów i wdrożeń, współtwórców, logi i inne elementy na platformach Kubernetes oraz na platformach hostowanych samodzielnie.
Polecenie brzmi następująco:
Biegi w tle:
(Koniec)
|