Рекомендации по созданию разделов в ядре dotnet

#.net-core #apache-kafka #architecture #confluent-platform

#.net-core #apache-kafka #архитектура #confluent-платформа

Вопрос:

Я только начал работать с Kafka вместе с C # (ядро dotnet). Я создал среду Kafka с реестром схем, используя docker (Confluent Images).

У меня есть хобби-проект, в котором я пытаюсь реализовать микросервисную архитектуру. Я буду использовать Kafka для обработки моих событий интеграции между службами.

Прямо сейчас я создал свои темы Kafka через Confluent UI, но мне действительно нравится иметь конфигурацию в виде кода и т. Д. У меня есть миграции баз данных с использованием миграции ядра EF — Облачная среда с использованием TerraForm.

Каковы были бы рекомендации по созданию тем? Прямо сейчас я думаю о создании тем при запуске моих приложений (если он существует, он ничего не делает). Ответственным приложением для создания темы будет приложение, которое должно создать эту тему.

Любой ввод наших идей, что я могу улучшить, или я что-то пропустил, что может потенциально вызвать у меня много проблем.

С наилучшими пожеланиями, Мартин

Комментарии:

1. AdminClient существует в пакете dotnet confluent… Работает нормально. Для Kafka также существуют поставщики Terraform

2. Я знаю о AdminClient. Это было больше о том, когда и где. Я думал написать повторно используемый сервис, который может создавать темы с конфигурацией и делать это при запуске приложения при начальной загрузке API приложения, но мне было интересно узнать, что делают люди и каков их опыт.

3. Spring-Kafka и несколько других Java-фреймворков делают это со своими объектами конфигурации. Я также видел, как операторы Kubernetes создавали темы, или Дженкинс, или Терраформ, как упоминалось… Все зависит от того, какие инструменты у вас есть, AFAIK, для dotnet нет высокоуровневой библиотеки конфигурации, которая предоставляла бы такую функцию из коробки.

Ответ №1:

Я решил просто использовать команду для моего файла docker compose. Я до сих пор не знаю или не решил, какой будет моя среда хостинга. Итак, мы полностью используем Kubernetes или используем только службы Azure или ConfluentCloud.

Итак, я отложу свое решение относительно этого, и когда придет время, я скорректирую код или Terraform для этого.