Масштабирование приложения Spring Batch в PCF без отключения Spring Cloud Dataflow и других облачных сервисов - PullRequest
1 голос
/ 07 августа 2020

Я прочитал много статей о масштабировании Spring Batch на облачных платформах, я также следил за видео Майкла Минеллы о высокопроизводительной пакетной обработке на YouTube (https://www.youtube.com/watch?v=J6IPlfm7N6w).

Я использую Spring Batch в PCF для обработки большого файла размером более 1 ГБ. Я понимаю, что файлы можно разделить, а класс DeployerPartitionhandler можно использовать для динамического запуска нового экземпляра в PCF для каждого раздела / файла, но загвоздка в том, что в нашей среде PCF не включены службы Spring Cloud Dataflow и Spring Cloud.

Я видел, что мы можем объединить Spring Batch с Spring Integration и rabbitmq, чтобы выполнять удаленное разбиение большого файла на части с использованием конфигурации master / worker. Но эти рабочие должны запускаться вручную в PCF как отдельный экземпляр. В зависимости от нагрузки мы должны вручную запускать больше рабочих экземпляров.

Но есть ли какой-либо другой способ, предоставляемый Spring Batch и PCF для автоматического масштабирования рабочих экземпляров в соответствии с нагрузкой? Или есть способ динамически запустить новый экземпляр в PCF, когда мастер готов с фрагментом при чтении файла?

FYI: если я использую функцию Autoscaler PCF на основе некоторых метри c таких как загрузка ЦП, для каждого нового экземпляра он читает весь файл, снова обрабатывает его.

...