产生者P1产生消息M1,并使用主题T1使用correlationId =“123”将其发送到消费者C1。同样,产生者P1产生消息M2,并使用主题T2使用correlationId =“123”将其发送到消费者C2。两个使用者(C1和C2)都用对同一回复主题R1的响应进行回复。在这个场景中,我们应该使用ReplyingKafkaTemplate还是AggregatingReplyingKafkaTemplate?
ReplyingKafkaTemplate
AggregatingReplyingKafkaTemplate
njthzxwz1#
AggregatingReplyingKafkaTemplate不支持该方案;它用于向多个消费者发送相同的消息并聚集它们的回复。对于您的用例,您需要使用离散的ReplyingKafkaTemplate调用并自己执行聚合。如果您使用相同的回复主题,您可能应该将sharedReplyTopic设置为true以避免日志噪声。回复容器必须具有不同的group.id。
sharedReplyTopic
true
group.id
编辑
下面是一个异步发送2个请求并关联回复的示例;您不需要两个模板,因为目标主题在ProducerRecord中...第一个
ProducerRecord
1条答案
按热度按时间njthzxwz1#
AggregatingReplyingKafkaTemplate
不支持该方案;它用于向多个消费者发送相同的消息并聚集它们的回复。对于您的用例,您需要使用离散的
ReplyingKafkaTemplate
调用并自己执行聚合。如果您使用相同的回复主题,您可能应该将
sharedReplyTopic
设置为true
以避免日志噪声。回复容器必须具有不同的
group.id
。编辑
下面是一个异步发送2个请求并关联回复的示例;您不需要两个模板,因为目标主题在
ProducerRecord
中...第一个