Как избежать рассинхронизации между актуальной базой данных товаров и агрегаторами?
Добрый день. Есть база данных товаров (30 тыс), и есть агрегаторы, которые продают товары.
Обновление базы у агрегаторов происходит каждые 30 минут. Я каждые 30 минут экспортирую данные в файл, а они его считывают. За эти 30 минут может произойти рассинхронизации, то есть у меня товар уже закончился, а у агрегатора он еще висит как актуальный. Какие пути избежания такой проблемы ?
Писать API для агрегаторов ?
Прям доступ БД компания давать не хочет.
Конечно идеальный вариант - сделать api для проверки наличия по товарам из файла экспорта.
Чтобы агрегатор в момент оформления заказа смог убедиться в их наличии, а только в случае успеха сделать заказ у вас. В данном случае нужно рассматривать именно "проверка наличия" + "списание товара в вашей базе" как транзакцию для агрегатора. Если эти две операции выполняются с промежутком во времени, то время неактуальности все равно останется в пределах этого промежутка.