Я использовал kafka-storm для подключения кафки и шторма. У меня есть 3 сервера, на которых работают zookeeper, kafka и storm. В кафке есть тема «тест» с 9 разделами.Штормовая латентность, вызванная ack
В топологии шторма количество исполнителей KafkaSpout равно 9, и по умолчанию количество задач должно быть равно 9. И «вытяжной» болт - единственный болт, соединенный с KafkaSpout, носителем «log».
Из пользовательского интерфейса в истоке есть огромная ошибка. Тем не менее, количество выполненных сообщений в болтах = количество испущенных сообщений - количество неудачных сообщений в болте. Это уравнение почти соответствует, когда неудавшееся сообщение в начале пусто.
Основываясь на моем понимании, это означает, что болт действительно получил сообщение от носика, но сигналы ack приостановлены в полете. Именно по этой причине количество хвостов в носике настолько невелико.
Эта проблема может быть решена путем увеличения количества секунд ожидания и ожидания ожидающего сообщения. Но это вызовет больший объем использования памяти, и я не могу увеличить его до бесконечности.
Я блуждал, если есть способ заставить шторм игнорировать акр в каком-то носике/болте, чтобы он не дождался этого сигнала до истечения времени. Это должно значительно увеличиться, но не гарантировать обработку сообщений.
Благодарим вас за советы. Я исправил эту проблему, ограничив «topology.max.spout.pending» до 2000. –