每个主题都需要一个 KafkaTemplate 吗?

Do you need a KafkaTemplate for each topic?

看起来可以使用泛型来配置 KakfkaTemplate 以指示键和值。密钥类型是否特定于用例?例如一些识别信息,如 personId、patientId,该值将呈现某种 pojo(DTO,可能不是整个 JPA 实体)

这引出了一个问题,我们是否应该根据用例(针对每个主题)配置多个 KafkaTemplates?

为了编码方便,KakfkaTemplate 是通用的。 但是,如果您的不同主题涉及不同的数据类型,您真的应该考虑为此目的使用单独的类型安全 KakfkaTemplate

另一个注意事项:KakfkaTemplate 完全基于 KafkaProducer,这需要特定的 ProducerProperties 包括 key/value 序列化器。

所以,是的,对于不同的数据类型,您需要单独的 KafkaProducer,因此,KakfkaTemplate。即使他们查看同一个 Kafka Broker。