Выгрузка справочника в 200 000 записей одним запросом отваливается по таймауту
Для синхронизации номенклатуры подрядчик предложил метод GET /api/products, который отдаёт весь справочник — около 200 000 позиций — одним ответом. На тестовом контуре с 500 позициями всё работало, на проде запрос стабильно завершается по таймауту.
Какое требование стоит зафиксировать в контракте?
- Постраничную выдачу с ограничением размера страницы плюс инкрементальную выгрузку изменившихся записей по метке времени
- Сжатие ответа и отказ от неиспользуемых полей, чтобы объём передаваемых данных уложился в текущий таймаут
- Перенос выгрузки на ночное окно, когда нагрузка на сервис минимальна и запрос успевает отработать
- Увеличение таймаута на стороне клиента и на балансировщике до значения, при котором ответ успевает прийти целиком, плюс повторная попытка выгрузки при обрыве соединения
