Я получаю несколько обновлений местоположения с устройства для определенного идентификатора ресурса. Эти обновления местоположения также могут быть получены с интервалом в секунды или миллисекунды.
Я хочу обработать только одно обновление для любого конкретного идентификатора ресурса в данном временном окне, скажем, 10 секунд.
В настоящее время я читаю последний обработанный запрос для этого идентификатора ресурса из кластера redis и проверяю, превышает ли разница времени более 30 секунд, тогда только я обрабатываю запрос.
Проблема возникает, когда мы получаем запрос почти одновременно (с интервалом в миллисекунды). И две разные машины выбирают эти запросы для обработки. Когда оба компьютера пытаются получить последний обработанный запрос для этого идентификатора ресурса, они оба получают одну и ту же запись, из-за чего оба запроса входят в систему.
Есть ли способ предотвратить этот сценарий?