Апачский верблюд с кубернетами - PullRequest
0 голосов
/ 21 сентября 2018

Мы работаем над переносом нашего приложения в kubernetes.Мы используем Apache Camel для обработки очень больших файлов.Но проблема в том, что когда мы мигрируем в kubernetes, будет больше, чем один модуль, и есть большая вероятность того, что он часто перезапускается.Если перезапуск происходит во время обработки огромного файла,

  1. Будет ли вероятность того, что верблюд не будет освобожден из файла?
  2. Перезапуск сделает файлобрабатываться сначала, а не начинаться с того места, где процесс ушел?

1 Ответ

0 голосов
/ 21 сентября 2018

Я признаю, что существует множество ситуаций, которые могут привести к перезапуску модуля в кластере Kubernetes, но описанные вами проблемы относятся и к верблюжьим приложениям, работающим за пределами Kubernetes.

Чтобы ответить на ваши вопросы, в случае перезапуска приложения в середине обработки большого файла, в соответствии с документацией к файловому компоненту https://github.com/apache/camel/blob/master/camel-core/src/main/docs/file-component.adoc:

  1. в конечном итоге блокировка верблюдаПосле освобождения время зависит от того, каким образом вы передадите файл в модуль.
  2. , если обработка не завершена правильно и файл не был изменен во время обработки, обработка перезапускается с начала файла.

При этом существуют стратегии и EIP, которые можно применять и использовать как сплиттер http://camel.apache.org/splitter.html и идемпотентные потребители http://camel.apache.org/idempotent-consumer.html, чтобы разбить файл на куски и избежать повторной обработки тех же кусков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...