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

OSCHINA-MIRROR/mirrors-KSQL

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
klip-41-ksqldb-.net-client.md 5.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 07:33 e6dfb69

KLIP 41 — ksqlDB .NET Client

Автор: Alex Basiuk (@alex-basiuk) | Целевой выпуск: TBD | Статус: обсуждается | Обсуждение: TBD

Краткое содержание: создать клиент ksqlDB для .NET, который будет соответствовать существующему Java-клиенту. Сообщество .NET получит выгоду от этого проекта. Цель состоит в том, чтобы обеспечить первоклассный опыт разработчика и упростить написание приложений потоковой передачи событий на .NET.

Мотивация и предпосылки

По сути, это похоже на KLIP 15. Это должно снизить барьер для разработчиков .NET и увеличить принятие ksqlDB сообществом. Библиотека должна предлагать тот же набор функций, что и библиотека Java, и следовать общим соглашениям и шаблонам .NET.

Что входит в рамки проекта

  • Новый клиент, реализованный на C#.
  • Первоначально клиент будет ориентирован на .NET Core 3 и .NET Framework 5. Поддержка более старых версий будет добавлена позже.
  • Клиент будет поддерживать выполнение и потоковую передачу запросов (как push, так и pull), вставку строк в потоки, операции DDL и административные операции, такие как список и описание.
  • Клиент будет использовать функцию асинхронных потоков C# (https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/generate-consume-asynchronous-stream).
  • Клиент также будет поддерживать прямой / синхронный стиль взаимодействия.
  • Документация и примеры высокого качества.

Что не входит в рамки проекта

Планов по предоставлению более функционального API для F# нет. Однако клиент можно будет использовать в F#.

Ценность/результат

Идеи приложений в стиле источников событий / CQRS / DDD популярны в сообществе .NET, но ksqlDB часто воспринимается как технология, специфичная для Java. Собственный клиент облегчит попытки и, надеюсь, адаптацию ksqlDB разработчиками .NET.

Общедоступные API

Нет данных.

Дизайн

  • Клиент будет нацелен на несколько целевых платформ (https://docs.microsoft.com/ru-ru/dotnet/standard/frameworks). Первоначально это будет netcoreapp3.0 и net5.0. Поддержка старых версий, например netstandard2.0, будет добавлена на более позднем этапе.
  • Клиент предоставит API на основе асинхронных потоков для потоковой передачи и асинхронные методы для всего остального.
  • Клиент поддержит внедряемые политики Polly (https://github.com/App-vNext/Polly), чтобы пользователи могли использовать собственные политики отказоустойчивости. Однако по умолчанию он должен использовать разумные политики повтора по умолчанию.
  • У клиента будут минимальные зависимости от сторонних библиотек.
  • Клиент будет следовать передовым практикам производительности.
  • Клиент будет потокобезопасным.

План тестирования

Модульное и интеграционное тестирование будет обязательным. Тесты производительности желательны, но вряд ли будут приоритетными. В идеале тесты должны выполняться как на платформах Windows, так и на Linux.

Этапы и сроки выполнения

TBD.

Обновления документации

  • Требуется высококачественная документация.
  • Примеры приложений, показывающие, как использовать клиент в реальном приложении.

Последствия совместимости

Нет данных.

Последствия для безопасности

Клиент будет поддерживать все протоколы, поддерживаемые REST API ksqlDB.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/mirrors-KSQL.git
git@api.gitlife.ru:oschina-mirror/mirrors-KSQL.git
oschina-mirror
mirrors-KSQL
mirrors-KSQL
master