考虑这个场景。Kafka主题有6个分区 Spring Java Kafka Consumer Application有6个副本,这样每个副本都会处理其中一个分区。
我面临的问题是消费者中每个消息的处理都需要很长的时间(约20秒),因为它需要调用一个非常慢的外部系统。
所以,即使我提供了6个partitionsreplicas,我最终还是遇到了一个瓶颈,6个消费者每条消息的阻塞时间约为20秒,这意味着每20秒就有6条消息的吞吐量!!!
考虑到我不能修改外部系统的行为,你能建议如何加快这种情况吗?
增加每个实例上的分区数量和并发量。
分区的数量必须是 >= instances * concurrency
.