У меня есть коллекция mongodb с именем A. В этой коллекции есть поле даты и времени с именем field1. В моем сценарии я должен собрать записи, у которых истекли дата и время на основе field1.
Я думал о написании Spring-планировщика Job, который запускается каждую минуту для извлечения записей с датой и временем с истекшим временем из mongodb, но когда я начал писать, я не смог сделать Spring-планировщик настолько масштабируемым.
В планировщике преобразовать запись в String и сделать сообщение pu sh в Kafka topi c. В моем случае Spring Scheduler работает на 4 экземплярах и pu sh дублирует сообщения для Kafka topi c.
Вопрос в весеннем планировщике, как я могу остановить дубликаты сообщений в Kafka topi c или как создать масштабируемый планировщик без дубликатов сообщений?
Какая-либо основанная на событиях инфраструктура для поддержки моего сценария? Означает, что по истечении срока записи она должна немедленно уведомить систему java, ie. Подобно TailableCursorlisteners весной слушает ограниченный сбор.