События Argo и датчик AWS S3

Обзор

У меня есть кластер Kubernetes с установленными поверх него рабочими процессами Argo, а также несколько устаревших систем, работающих на некоторых машинах EC2.

В будущем я перенесу все устаревшие задания ETL на рабочие процессы Argo, но пока мне нужно заставить эти системы взаимодействовать друг с другом.

Для этого я пишу некоторые файлы в ведре S3, эти файлы должны обнаруживаться датчиком, который запускает рабочий процесс, и я использую:

      S3 bucket notification > SNS > SQS  

на стороне AWS, чтобы собрать все мои сообщения S3.

Затем, по окончании событий Argo, у меня есть датчик SQS, который запускает рабочий процесс, если условие выполняется (если ключ ведра A, запускает рабочий процесс A, иначе, если ключ ведра B, запускает рабочий процесс B и т. Д.).

Проблема

Одним из ограничений этого подхода является то, что SQS доставляет сообщения только один раз. Поскольку одним из требований является то, что задания ETL находятся в независимых репозиториях, поддержка «централизованного» датчика не будет вариантом.

Альтернативный подход мог бы быть

      S3 bucket notification > SNS > Lambda > Kafka 

а затем использовать датчик Кафки.

Мне просто было интересно, не будет ли это излишним для того, чего я пытаюсь достичь. Если да, то какие у меня есть альтернативы?

0 ответов

Другие вопросы по тегам