Повна назва Dapr — «Distributed Application Runtime», тобто «Distributed Application Runtime». Dapr — це проєкт з відкритим кодом, започаткований компанією Microsoft, який наразі є частиною проєкту CNCF Incubator.
Будь-яка мова, будь-який фреймворк, будь-де
Розподілене середовище виконання додатків (DAPR) надає API, які спрощують підключення мікросервісів. Незалежно від того, чи ваш режим комунікації — це дзвінок для сервісу, чи повідомлення для публікації/підписки, Dapr допоможе вам створювати стійкі та безпечні мікросервіси.
Дозволяючи сайдкару Dapr вирішувати складні завдання, такі як виявлення сервісів, інтеграція брокера повідомлень, шифрування, спостережуваність і управління секретами, ви можете зосередитися на бізнес-логіці та зберігати простий код у своєму коді. Кожен із будівельних API є незалежним, тобто ви можете використовувати один, деякі або всі у своєму додатку. Можна використовувати такі будівельні блоки:
| Підзбірка | опис | | Вхід за гіперпосиланням видно. | Еластичні дзвінки сервіс-сервіс підтримують метод викликів на віддалених сервісах, включаючи повторні виклики, незалежно від того, де вони розташовані в підтримуваному хостинговому середовищі. | | Вхід за гіперпосиланням видно. | Завдяки управлінню станами для зберігання та запиту пар ключ/значення ви можете легко писати довготривалі, високодоступні, станні та безстанні сервіси у своєму додатку. Сховища стану підключаються, прикладами є AWS DynamoDB, Azure CosmosDB, Azure SQL Server, GCP Firebase, PostgreSQL або Redis, серед інших. | | Вхід за гіперпосиланням видно. | Публікація подій та тем підписки між сервісами дозволяє архітектурі, орієнтованій на події, спрощувати горизонтальну масштабованість і адаптуватися до збоїв. Dapr пропонує щонайменше одноразові гарантії обміну повідомленнями, TTL повідомлень, споживчі групи та інші розширені функції. | | Вхід за гіперпосиланням видно. | Зв'язування ресурсів за допомогою тригерів додатково базується на архітектурі, орієнтованій на події, яка забезпечує масштабування та стійкість шляхом отримання та надсилання подій з будь-якого зовнішнього джерела, такого як бази даних, черги, файлові системи тощо. | | Вхід за гіперпосиланням видно. | Патерни для об'єктів із статусом і безстану, які спрощують паралельність за допомогою методів і інкапсуляції стану. Dapr надає низку функцій під час виконання Actor, включно з управлінням паралельністю, станом і життєвим циклом для активації/деактивації акторів, а також таймерами та нагадуваннями для пробудження акторів. | | Вхід за гіперпосиланням видно. | Dapr видає метрики, журнали та трасування для налагодження та моніторингу Dapr і користувацьких додатків. Dapr підтримує розподілене трасування, використовуючи стандарт W3C Trace Context та Open Telemetry для легкої діагностики та обслуговування міжсервісних викликів у виробництві, які надсилаються різним інструментам моніторингу. | | Вхід за гіперпосиланням видно. | API управління секретами інтегрується з публічною хмарою та локальним секретним сховищем для отримання секретів для використання в коді додатків. | | Вхід за гіперпосиланням видно. | API конфігурації дозволяє отримувати та підписуватися на елементи конфігурації додатків із конфігураційного сховища. | | Вхід за гіперпосиланням видно. | API Distributed Locks дозволяє вашому додатку отримати блокування для будь-якого ресурсу, який надає йому ексклюзивний доступ, доки додаток не буде звільнений або не настане тайм-аут оренди. |
Офіційний вебсайт:Вхід за гіперпосиланням видно. Документації:Вхід за гіперпосиланням видно. Dapr для розробників .NET:Вхід за гіперпосиланням видно.
Dapr пропонує різноманітні SDK та фреймворки, що полегшує початок розробки з Dapr на вашій улюбленій мові.
Щоб зробити використання Dapr більш природним для різних мов, він також включає специфічні для мови SDK для:
- C++
- Іти
- Ява
- JavaScript
- .МЕРЕЖІ
- PHP
- Python
- Іржі
Linux встановлює розподілений runtime Dapr
Встановити Dapr CLI
Спочатку підготуйте сервер для системи CentOS 7, через проблеми з домашнім середовищем, будь ласка, використовуйте наступну команду для ручного встановлення dapr-cli:
Перевірте встановлення
Встановити сервіс Docker
Трохи встановіть сервіс Docker на систему (Docker потрібен для рекомендованого середовища розробки). Хоча ви можете ініціалізувати Dapr без залежності від Docker, деякі подальші розробки будуються на Docker. )
Ініціалізувати Dapr
Використовуйте CLI для ініціалізації Dapr на вашому локальному комп'ютері.
Dapr працює як сайдкар у вашому додатку. У режимі самостійного розміщення це означає, що це процес на вашому локальному комп'ютері. Ініціалізуючи Dapr, ви:
- Отримайте та встановіть бінарний файл Dapr Sidecar локально.
- Використовуйте Dapr для створення середовища розробки, яке спрощує розробку додатків.
Ініціалізація DAPR включає:
- Запустіть екземпляр контейнера Redis для використання як локального сховища стану та брокера повідомлень.
- Запустіть екземпляр контейнера Zipkin для спостережуваності.
- Використовуйте наведені вище визначення компонентів, щоб створити папку компонентів за замовчуванням.
- Запустіть Dapr, щоб розмістити екземпляр сервісного контейнера для локальної підтримки учасників.
За замовчуванням ініціалізація Dapr завантажує бінарний файл і витягує зображення з мережі для налаштування середовища розробки. Однак Dapr також підтримує офлайн-інсталяцію з попередньо завантаженими артефактами, оскількиПобутові екологічні проблеми, ініціалізація вимагає офлайн-монтажу, завантажте daprbundle_linux_amd64.tar.gz файл,/root каталог。
Завантажити адресу:Вхід за гіперпосиланням видно.
Команда звучить так:
Перевірте версію Dapr
CLI також створює папку компонентів за замовчуванням з кількома файлами YAML, які містять визначення сховищ стану, pub/sub та zipkins. Sidecar Dapr читатиме ці компоненти і використовує:
Команда звучить так:
Встановити Dapr Dashboard
Панель керування Dapr надає інформацію про додатки, компоненти, конфігурації та сервіси керуючих площин Dapr. Користувачі можуть переглядати метадані, файли маніфестів і розгортання, учасників, журнали та інше на Kubernetes та самостійно розміщених платформах.
Команда звучить так:
Фонові серії:
(Кінець)
|