【问题标题】:Best practice to create topics in dotnet core在 dotnet core 中创建主题的最佳实践
【发布时间】: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


【解决方案1】:

我决定只对我的 docker compose 文件使用一个命令。我仍然不知道或已经决定我的托管环境将如何。所以无论是一直使用 Kubernetes 还是只使用 Azure 服务或 ConfluentCloud。

所以我会推迟我的决定,到时候我会为此调整代码或 Terraform。

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多