【发布时间】:2021-01-16 22:27:18
【问题描述】:
我刚刚开始使用 Kafka 和 C#(dotnet 核心)。我使用 docker (Confluent Images) 构建了一个带有 Schema Registry 的 Kafka 环境。
我有一个爱好项目,我尝试实现微服务架构。我将使用 Kafka 来处理服务之间的 IntegrationEvents。
现在我已经通过 Confluent UI 创建了我的 Kafka 主题,但我真的很喜欢将配置作为代码 - 等等。我使用 EF Core Migrations 进行数据库迁移 - 使用 TerraForm 的云环境。
创建主题的最佳做法是什么?现在我正在考虑在我的应用程序启动时创建主题(如果它存在,它什么也不做)。负责创建主题的应用程序将是需要生成该主题的应用程序。
任何输入我们的想法,我可以改进什么,或者我错过了一些可能会给我带来很多麻烦的东西。
最好的问候马丁
【问题讨论】:
-
AdminClient 存在于 dotnet confluent 包中...工作正常。 Kafka 也存在 Terraform 提供程序
-
我知道 AdminClient。更多的是关于何时何地。我的想法是编写一个可重用的服务,它可以通过配置创建主题,并在启动应用程序的 API 时在应用程序启动时执行此操作 - 但我很想知道人们在做什么以及他们的经验是什么。
-
Spring-Kafka 和其他一些 Java 框架使用它们的配置对象来做到这一点。我还看到 Kubernetes Operators 创建主题,或者提到的 Jenkins 或 Terraform ......这一切都取决于你有什么可用的工具,AFAIK,没有用于 dotnet 的高级配置库可以提供开箱即用的这种功能.
标签: .net-core apache-kafka architecture confluent-platform