1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kz404-dapr

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Dapr — портативная, бессерверная среда выполнения, управляемая событиями

Dapr (англ. Distributed Application Runtime) — это портативная, бессерверная, управляемая событиями среда выполнения, которая упрощает разработку устойчивых микросервисов без сохранения состояния и с сохранением состояния, работающих в облаке и на периферии. Dapr поддерживает разнообразие языков и фреймворков разработки.

В Dapr лучшие практики создания микросервисных приложений оформлены в виде открытых, независимых блоков, которые позволяют создавать переносимые приложения на любом языке и с использованием любого фреймворка по выбору разработчика. Каждый блок независим, и вы можете использовать один, несколько или все блоки в своём приложении.

Обзор Dapr

Мы являемся проектом инкубации Cloud Native Computing Foundation (CNCF).

Цели

  • Позволить разработчикам писать распределённые приложения на любом языке или фреймворке.
  • Решить сложные проблемы, с которыми сталкиваются разработчики при создании микросервисных приложений, предоставив блоки лучших практик.
  • Быть ориентированным на сообщество, открытым и нейтральным к поставщикам.
  • Привлекать новых участников.
  • Обеспечить согласованность и переносимость через открытые API.
  • Не зависеть от платформы в облачных и периферийных средах.
  • Поддерживать расширяемость и предоставлять подключаемые компоненты без привязки к поставщику.
  • Облегчить работу с IoT и периферийными сценариями за счёт высокой производительности и лёгкости.
  • Постепенно адаптироваться из существующего кода без зависимости от среды выполнения.

Как это работает

Dapr внедряет дополнительный компонент (контейнер или процесс) в каждый вычислительный узел. Дополнительный компонент взаимодействует с триггерами событий и связывается с вычислительным узлом через стандартные протоколы HTTP или gRPC. Это позволяет Dapr поддерживать все существующие и будущие языки программирования без необходимости импортировать фреймворки или библиотеки.

Dapr предлагает встроенное управление состоянием, надёжную передачу сообщений (по крайней мере однократную доставку), триггеры и привязки через стандартные интерфейсы HTTP-запросов или gRPC, что позволяет вам писать службы без сохранения состояния, с сохранением состояния и подобные акторам, следуя одной и той же парадигме программирования. Вы можете свободно выбирать модель согласованности, модель потоков и шаблоны доставки сообщений.

Dapr изначально работает в Kubernetes, как самостоятельный двоичный файл на вашем компьютере, на устройстве IoT или как контейнер, который можно внедрить в любую систему, в облачной среде или локально.

Для обеспечения широкого спектра возможностей связи Dapr использует подключаемые хранилища состояний компонентов и шины сообщений, такие как Redis, а также gRPC. Почему Dapr?

Разработка высокопроизводительных, масштабируемых и надёжных распределённых приложений — сложная задача. Dapr предоставляет вам проверенные шаблоны и практики. Он объединяет семантику событийно-управляемых систем и акторов в простую и последовательную модель программирования. Поддерживает все языки программирования без привязки к фреймворку. Вам не нужно работать с низкоуровневыми примитивами, такими как потоки, управление параллелизмом, разделение и масштабирование. Вместо этого вы можете написать код, реализовав простой веб-сервер с использованием знакомых вам веб-фреймворков.

Dapr гибок в моделях потоков и согласованности состояний. Вы можете использовать многопоточность, если захотите, и выбирать между различными моделями согласованности. Эта гибкость позволяет реализовывать сложные сценарии без искусственных ограничений. Уникальность Dapr заключается в том, что вы можете легко переходить между платформами и базовыми реализациями без переписывания кода.

Функции:

  • Система Pub-Sub на основе событий с подключаемыми провайдерами и семантикой «хотя бы один раз».
  • Входные и выходные привязки с подключаемыми провайдерами.
  • Управление состояниями с подключаемыми хранилищами данных.
  • Согласованное обнаружение и вызов служб.
  • Опциональные модели с отслеживанием состояния: строгая/возможная согласованность, первое/последнее обновление выигрывает.
  • Кроссплатформенные виртуальные акторы.
  • Управление секретами для получения секретов из безопасных хранилищ ключей.
  • Ограничение скорости.
  • Встроенная поддержка наблюдаемости.
  • Работает изначально в Kubernetes с помощью специального оператора и CRD.
  • Поддерживает все языки программирования через HTTP и gRPC.
  • Мультиоблачные, открытые компоненты (привязки, Pub-Sub, состояние) от Azure, AWS, GCP.
  • Запускается где угодно, как процесс или контейнер.
  • Лёгкий (58 МБ двоичный файл, 4 МБ физической памяти).
  • Работает как sidecar — устраняет необходимость в специальных SDK или библиотеках.
  • Специальный CLI — удобный опыт разработчика с лёгкой отладкой.
  • Клиенты для Java, .NET Core, Go, JavaScript, Python, Rust и C++.

Начало работы с Dapr

Ознакомьтесь с нашим руководством по началу работы в документации.

Быстрые запуски и примеры

  • См. репозиторий быстрых запусков для примеров кода, которые помогут вам начать работу с Dapr.
  • Изучите дополнительные примеры в репозитории образцов Dapr.

Сообщество Мы хотим получать ваши идеи и предложения! Один из самых простых способов внести свой вклад — участвовать в обсуждениях в списке рассылки, общаться в чате или на еженедельных встречах сообщества. Для получения дополнительной информации об участии в сообществе, руководстве для разработчиков и правилах участия перейдите в репозиторий сообщества Dapr.

Свяжитесь с нами

Обращайтесь с любыми вопросами, и мы постараемся ответить на них как можно скорее!

Платформа Ссылка
💬 Мгновенный чат (предпочтительно) Discord Banner
📧 Список рассылки https://groups.google.com/forum/#!forum/dapr-dev
🐤 Twitter @daprdev

Встреча сообщества Каждые две недели мы проводим встречу сообщества, чтобы представить новые функции, обсудить предстоящие этапы и ответить на вопросы. Приглашаем всех желающих! 📞 Посетите https://aka.ms/dapr-community-call, чтобы узнать о предстоящих датах и ссылке на встречу.

Видео и подкасты У нас есть множество выступлений, подкастов и презентаций, доступных для ознакомления и обучения. 📺 Посетите https://docs.dapr.io/contributing/presentations/, чтобы ознакомиться с предыдущими выступлениями и слайдами.

Участие в разработке Dapr См. руководство по разработке, чтобы приступить к созданию и разработке.

Репозитории

Репо Описание
Dapr Основной репозиторий, который вы сейчас просматриваете. Содержит код среды выполнения Dapr и обзорную документацию.
--- ---
Docs Документация по Dapr.
Quickstarts Этот репозиторий содержит серию простых примеров кода, которые демонстрируют основные возможности Dapr.
Samples В этом репозитории хранятся поддерживаемые сообществом образцы для различных вариантов использования Dapr.
Components-contrib Цель components contrib — предоставить открытые, управляемые сообществом повторно используемые компоненты для создания распределённых приложений.
Dashboard Универсальная панель мониторинга для Dapr.
Go-sdk Dapr SDK для Go.
Java-sdk Dapr SDK для Java.
JS-sdk Dapr SDK для JavaScript.
Python-sdk Dapr SDK для Python.
Dotnet-sdk Dапр SDK для .NET.
Rust-sdk Dapr SDK для Rust.
Cpp-sdk Dapr SDK для C++.
PHP-sdk Dapr SDK для PHP.

Code of Conduct

Пожалуйста, ознакомьтесь с нашим Кодексом поведения сообщества Dapr.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Dapr 1.8.0 Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/kz404-dapr.git
git@api.gitlife.ru:oschina-mirror/kz404-dapr.git
oschina-mirror
kz404-dapr
kz404-dapr
master