реализовать более чем 1 способом, хочется понять как лучше. По api раз в минут прилетает пак объектов с уникальными id. Эти объекты могут дублироваться т.е. прилетел пак1, потом пак2 и в нем половина объектов как в пак1. Нужно каждый раз отсеивать объекты, которые были ранее, а остальные добавлять в очередь к следующей операции.
Вариант 1 - завести set айдишников, если новый айдишник при попытке добавления в сет возвращает false значит такой объект в очередь не добваляем.
Вариант 2 - завести лист айдишников и отсеивать не уникальные объекты через stream.filter
Вариант 3 - может есть вариант 3?
Если думать про масштабируемость (когда обработка на разных хостах) - вместо set храним данные в key-value store, например Redis.
Обсуждают сегодня