Мы используем Spring boot 1.5.4.RELEASE, и я вижу следующие jar-файлы в нашем проекте gradle: spring-kafka-1.1.6, kafka-clients-0.10.1.1
У нас естьпростой класс получателя, как показано ниже:
`
@KafkaListener(topics = "${mytopic.consume}")
public void receive(byte[] event) {
<our code here>...
}
//$mytopic.consume is being picked up from properties file
`
В большинстве дней код работает нормально, и я могу правильно получать события и обрабатывать их, а затем внезапноон прекращает получать сообщения.Нет ошибок, нет предупреждений.Я вижу, что сообщения есть по теме, но наш слушатель, похоже, не использует их.Я попытался перезапустить приложение, перезапустить Eclipse, переключиться между режимом запуска и отладки, изменить имя группы в свойствах kafka - но ничего не работает.Через несколько часов мы смотрим на приложение, и вы идете - оно снова начинает работать, и мы получаем все сообщения, которые застряли.Иногда проблема может длиться более суток.Я подозреваю, что это НЕ проблема затмения, но, вероятно, способ установки корпоративного Kafka или какая-то ошибка в Kafka (меньшая вероятность, так как я не смог найти такую проблему в Google).Я заметил эту проблему, даже когда микросервис был развернут в IBM bluemix.
Будем весьма благодарны за любые указатели.
Вот некоторые из наших свойств (которые могут представлять интерес), которые мы настроилив нашем приложении: `
acks=all
retries=0
batch.size=<a number greater than 10k>
linger.ms=1
buffer.memory=<a number in 10s of MBs - our incoming message is just few KBs>
ENABLE_AUTO_COMMIT_CONFIG=true
AUTO_COMMIT_INTERVAL_MS_CONFIG=1ms
SESSION_TIMEOUT_MS_CONFIG=30ms
zookeeper.sync.time=200ms
zookeeper.session.timeout=400ms
`