#spring-batch #azure-cosmosdb
#spring-batch #azure-cosmosdb
Вопрос:
Можно ли использовать CosmosDB в качестве хранилища заданий для Spring Batch? Если это невозможно, можем ли мы использовать базу данных в памяти для обработки наших пакетных заданий Spring? Само задание запускается при поступлении сообщения в удаленную очередь. Мы используем вариант индикатора процесса в нашем текущем пакетном задании Spring, чтобы отслеживать обрабатываемые «фрагменты». Наши атрибуты для saveStep также отключены . Читатель всегда использует запрос к БД, чтобы избежать получения одних и тех же фрагментов и предотвратить дублирование обработки. Мы не фиксируем сообщение в очереди, пока не будут обработаны все записи для этого задания. Поэтому, если узел умирает и возвращается в середине обработки, то то же сообщение будет доставлено повторно, что приведет к перезапуску задания. Учитывая все это, у нас есть выбор: либо придумать способ реализации хранилища заданий cosmos, либо просто использовать в памяти и подключить прослушиватель «afterJob» для очистки данных заданий в памяти, чтобы гарантировать, что java mem не используется в Prod. Какие-либо рекомендации?
Ответ №1:
Хотел предоставить информацию о том, что Azure Cosmos DB только что выпустила версию v3 соединителя данных Spring для SQL API:
Команда Spring on Azure в партнерстве с командой Azure Cosmos DB гордятся тем, что только что сделали общедоступной версию Spring Data Azure Cosmos DB v3. Это последняя версия соединителя данных SQL API Spring для Azure Cosmos DB.
Кроме того, Spring.у io есть пример решения для микросервисов (Spring Cloud Data Flow) на основе пакета, который можно использовать в качестве примера для вашего решения.
Дополнительная информация: