Я использую Kafka 2.1.0 и хочу опубликовать сообщение после подписки.Есть ли способ для производителя узнать, произошла ли подписка, а затем опубликовать сообщение?Иначе я бы каждый раз терял 1-е сообщение.
С https://kafka.apache.org/documentation.html#newconsumerconfigs, auto.offset.reset состояния:
auto.offset.reset
Что делать, если в Kafka нет начального смещения или если на сервере больше нет текущего смещения (например,потому что эти данные были удалены): самое раннее: автоматически сбрасывать смещение на самое раннее смещение самое последнее: автоматически сбрасывать смещение на самое последнее смещение нет: выбрасывать исключениепотребителю, если не найдено предыдущее смещение для группы потребителя что-либо еще: выбросить исключение для потребителя.
Что делать, если в Kafka нет начального смещения или если на сервере больше нет текущего смещения (например,потому что эти данные были удалены):
самое раннее: автоматически сбрасывать смещение на самое раннее смещение
самое последнее: автоматически сбрасывать смещение на самое последнее смещение
нет: выбрасывать исключениепотребителю, если не найдено предыдущее смещение для группы потребителя
что-либо еще: выбросить исключение для потребителя.
Значение по умолчанию auto.offset.reset равно latest.Чтобы ваш потребитель не потерял первую запись, вам нужно установить auto.offset.reset на earliest.
latest
earliest