이벤트 이미 터를 사용하여 데이터를 처리하는 데이터 스트림이있는 EC2 인스턴스가 있습니다. 예 :데이터 스트림 로깅 처리
stream.on('new event', function doSomething(event){ do more stuff...})
이 데이터 스트림은 잠재적으로 초당 수천 개의 이벤트가 발생할 수 있으므로 이러한 이벤트의 처리를 효율적으로 기록하고 싶습니다. 즉, 새로운 이벤트가 들어올 때마다 로그 항목을 보내지 않으려 고합니다.
따라서 로그를 일괄 적으로 보내고 싶습니다. 예 :
그러나 너무 많은 사건이 동시에 발생하면 위의 코드가 비정상적인 행동으로 이어질 수 있습니다. 로컬 로깅에서이 것을 보았습니다.이 배열의 길이는 매우 극적으로 뛰어 났으며 동시에 여러 이벤트에 대해 동일한 값을 가질 수 있습니다.
또한 cloudwatch 로그를 사용하려면 로깅 기능에 대한 다른 호출간에 'sequenceTokens'를 전달해야합니다. 두 개의 이벤트가 로깅 조건을 동시에 트리거하는 경우 상황이 이상 할 수 있습니다. (이 문제는 각 이벤트를 별도로 기록한 경우에도 존재합니다.)
이러한 종류의 데이터 스트림에 대한 로깅은 어떻게 처리해야합니까?
SQS가 확실히 작동 할 수 있습니다. 실시간 동작에 가까운 것이 필요하다면 람다 함수가 또 다른 옵션이 될 수 있습니다. 화재 및 잊어 버린 프로세스가 람다에게 위임 한 경우 람다가 필요한 로깅 프로세스 수에 따라 동적으로 확장되는 "팬 아웃 (fan out)"패턴으로 끝날 것입니다. –