#spring-boot #kubernetes #deployment #microservices #long-running-processes
Вопрос:
Я работаю в области архитектуры микросервисов. У каждой службы есть несколько длительных задач (обработка данных, формирование отчетов), которые могут занимать до 1-2 часов. Мы используем Кафку для очереди. Как обрабатывать случаи, когда перезапуск модуля или любое развертывание происходит непосредственно перед завершением задачи? Задача начнется снова и снова займет столько же времени. Есть ли какой-либо способ выполнить эти задачи независимо в модуле приложений?
Ответ №1:
вы можете использовать задания Kubernetes для выполнения этих типов задач, поэтому, как только задача будет выполнена, Kubernetes также автоматически удалит модули.
Задания также настраиваются и будут выполняться автономно, поэтому, если вы снова развернете задание, оно получит данные из Кафки, и начнется новое задание.
Комментарии:
1. Суровый Манвар Знаете ли вы какие-нибудь хорошие ресурсы для выполнения заданий Kubernetes с использованием java или любого другого языка программирования?
2. Да, есть клиент kubernetes, доступный для всех языков, которые вы можете проверить здесь : kubernetes.io/docs/reference/using-api/client-libraries
3. Для получения дополнительной информации, пожалуйста, посетите : github.com/kubernetes-client/java