考虑以下场景:带有6个分区的kafka主题。springjavakafka消费者应用程序有6个副本,每个副本处理一个分区。
我面临的问题是,消费者中每条消息的处理都需要很长时间(约20秒),因为它需要调用非常慢的外部系统。
因此,尽管我已经配置了6个分区/副本,但最终还是会遇到瓶颈,6个使用者会阻塞每条消息约20秒,这意味着每20秒会有6条消息的吞吐量!!
考虑到我不能修改外部系统的行为,你能建议加速这个场景的方法吗?
考虑以下场景:带有6个分区的kafka主题。springjavakafka消费者应用程序有6个副本,每个副本处理一个分区。
我面临的问题是,消费者中每条消息的处理都需要很长时间(约20秒),因为它需要调用非常慢的外部系统。
因此,尽管我已经配置了6个分区/副本,但最终还是会遇到瓶颈,6个使用者会阻塞每条消息约20秒,这意味着每20秒会有6条消息的吞吐量!!
考虑到我不能修改外部系统的行为,你能建议加速这个场景的方法吗?
1条答案
按热度按时间7ivaypg91#
增加每个示例上的分区数和并发数。
分区数必须为
>= instances * concurrency
.