Мы перерабатываем устаревшее приложение, которое запрашивает большие данные с помощью курсора и после некоторой обработки записывает данные о каждом размере пакета в файловую систему. Теперь мы разделяем этот запрос и обработку на два микросервиса на основе Docker / kubernetes / Spring Boot и используем Postgres в качестве источника данных.
Наша задача - разбиение на страницы для ответа на большой запрос. Мы заинтересованы в использовании стандартных опций, таких как Skip (), Limit () по соображениям производительности. Кроме того, наш запрос является динамическим c для каждого запроса, а количество ключей ответа может быть от 1 до 1500 столбцов. И пользователь может передавать различный порядок сортировки для запрошенных ключей столбцов (Col A как c, Col B Des c, Col C des c et c). поэтому другие предлагаемые подходы, такие как разбиение на клавиши набора ключей, могут не работать.
Мы ищем некоторые предложения, такие как потоковая передача ответа, чтобы, как только мы получили ответ из примера 100, записывалась реакция нашего прохода службы передачи данных на микросервис процессора, и эта служба могла запись в файловую систему