Создание распределенного приложения с помощью dapr

Основная идея этой серии постов будет заключаться в создании распределенных приложений с использованием dapr в качестве инструмента для создания микросервисов. Для этого мы будем использовать несколько технологий и продуктов, чтобы получить законченную распределенную систему. Но прежде чем мы начнем, что такое дапр?

Dapr, «Распределенная среда выполнения приложений», представляет собой переносимую среду выполнения, которая поможет нам создавать микросервисы. Когда люди начали говорить о микросервисах и их достоинствах, связанные с ними сложности игнорировались. Например, автообнаружение сервисов, работа с брокерами сообщений, восстановление состояния в случае сбоя… Dapr появляется для того, чтобы мы могли сосредоточиться на построении приложений и в какой-то степени избежать сложностей этих систем.

На сегодняшний день dapr SDK поддерживает довольно много языков, но требуется только, чтобы выбранные платформы могли заставить HTTP-вызовы работать с dapr. Но прежде чем мы углубимся в преимущества и особенности dapr, нам нужно знать, с чего начать.

Мы собираемся сосредоточиться на работе с .NET 6 и C#. Мы собираемся использовать WSL2 с Ubuntu и Visual Studio Code. Нам также потребуется установить докер.

Первое, что нам нужно сделать, это установить dapr CLI, для этого мы выполняем следующую инструкцию.

wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash

Чтобы убедиться, что все установлено, выполните следующую команду:

dapr

Один из способов запуска dapr — через один из режимов хостинга, называемый самостоятельным размещением. Чтобы использовать этот режим, нам нужно запустить следующую команду.

dapr init

Эта команда dapr смонтировала три контейнера (в докере):

Кроме того, если мы просмотрим все, что смонтировал dapr init, он поместил файлы в системную папку, в моем случае /home/ismael/.dapr. Конфигурацию компонентов в этих папках мы увидим в следующих постах.

Если вы выполнили все шаги, вы готовы запустить свое первое приложение dapr.