【发布时间】:2020-03-01 12:21:51
【问题描述】:
我有一个微服务架构,其中每个服务的生产者都写入同一个主题。我有两个 kafkaRestproxy 实例,每个都听那个主题,但这里的问题是: 假设一个请求到达 restproxy 的 instance-1,它将重定向到微服务,该服务完成了作业并将响应写入主题,但响应被 restproxy 的第二个实例消耗,比如说 instance-2。
我应该怎么做才能解决这个问题?它们是我们可以附加到请求的任何类型的 application_id 吗,所以当该微服务完成工作并且如果另一个 restproxy 实例消耗了该响应,那么我们可以将响应重定向到那个获取该请求的 restproxy 实例?
【问题讨论】:
-
您可以使用 Kafka 分区键,我假设两个消费者属于同一个消费者组,在这种情况下,您可以将分区键附加到消息中,以便具有相同分区键的消息发送给同一个消费者。