MassTransit 中不存在的主题的例外

问题描述

当 Kafka 中的 topic 不存在并且使用 TopicEndpoint 方法为其完成端点配置时,它会抛出异常: Confluent.Kafka.ConsumeException: broker: UnkNown topic or partition。 创建主题后,不再发生异常。如何为使用 TopicEndpoint 方法配置的端点设置自动主题创建?

解决方法

目前不支持自动创建topic,根据多家企业使用Kafka的经验,也不推荐。通常,它是经过管理的,以便可以将适当的分区和所有权应用于主题(而不仅仅是猜测)。

事实上,我不确定 Kafka 消费者(使用 Confluent 客户端)是否有可能自动创建主题。还有一些方面,例如架构注册表等也需要考虑。

我对讨论持开放态度,但做出的选择是基于对使用 Kafka 的团队的采访,他们说他们通常不允许自动创建主题。