2017-09-29 3 views
0

초기 람다가 여러 개의 비동기 람다를 생성하고 일부 람다가 자체 비동기 람다를 생성하는 등의 응용 프로그램이 있습니다 (세대 카운터 도망 치는 것을 방지하기 위해). 람다는 모두 현재 DynamoDB 테이블에 씁니다. 마지막 과정이 끝나면 다른 프로세스를 시작할 수 있는지 알고 싶습니다.AWS Lambda가 간단한 정보/상태를 전달하는 가장 좋은 방법

나는 일반적으로 여러 가지 방법을 생각할 수

: 그것은

  • SQS
  • SWF 실행 마지막의 경우

    • 가 DB에 특정 필드를 작성하고, 각 람다 검사 (스텝 기능/상태 머신)

    나는이 작업을 수행하는 가장 간단한 방법 및/또는 "최상의"또는 정식 방법이 있다면 알려 드리고 싶습니다. 또한 SQS를 피하고 싶습니다. (어쨌든 멋진 것으로 들리므로 SWF로 실험하겠습니다.)

  • 답변

    0

    AWS Step Functions의 좋은 사용 사례입니다.

    Parallel 상태가 정확히 필요한 것입니다.

    평행 상태 ("유형": "병렬")는 상태 시스템에서 병렬 실행 분기를 만드는 데 사용할 수 있습니다. 당신이 람다 단계를 마지막 실행에 Parallel state을 정의 할 수 있습니다 AWS Step Functions

    +0

    작동이 가능할 지 모르겠지만 모든 람다가 동일한 프로세스에서 정확히 같은 시간에 시작하지는 않습니다. 나는 여러 세대의 람다 세대가 있음을보다 분명하게 나타 내기 위해 질문을 업데이트했다. –

    0

    시나리오에 가장 적합는 다른 프로세스의 시작된다 마지막 단계를 트리거합니다. 그러나 이것은 상태 기계를 단순화 할 것이지만 개별 상태에 대한 추가 비용이 발생할 것입니다.

    또 다른 방법은 DynamoDB Atomic Counters을 사용하여 각 실행을 추적하여 마지막 실행 후 스트림에 첨부 된 람다 기능이 서로 다른 프로세스를 식별하고 실행할 수 있도록하는 것입니다.

    관련 문제