모니터링 및 로깅

완료됨

모니터링은 중요합니다. 아키텍처에 따라 다소 어려울 수 있습니다. 분산 시스템의 경우 훨씬 더 어렵지만 그만큼 중요할 수도 있습니다.

실시간 애플리케이션 모니터링

실시간 시스템에서 작업이 지정된 시간 프레임 내에서 기능을 수행한다는 것을 배웠습니다. 일반적인 실시간 애플리케이션 스택을 모니터링하는 5단계 목록을 살펴보겠습니다.

  1. 시스템의 모든 개별 작업을 정의합니다.
  2. 각 작업마다 완료할 시간 프레임을 예측합니다.
  3. 각 작업의 성능, 그 종속성 및 전반적인 시스템 규칙성을 모니터링하고 확인합니다.
  4. 작업에 시간 프레임이 없는 경우 경고를 지정하고 전략을 설정합니다.
  5. 자동화를 시도해 보세요.

Important

개별 작업을 다른 작업과 분리된 것으로 정의해야 합니다. 한 작업의 실패가 다른 작업까지 실패까지 야기해서는 안 됩니다.

참고

신뢰할 수 있는 시스템이 관건입니다. 자동화를 통해 시스템의 안정성을 높일 수 있습니다.

이벤트 구동 애플리케이션 스택 모니터링

대부분의 이벤트 구동 아키텍처는 ‘실행 후 망각’ 원칙을 사용합니다. 실행 후 망각 원칙에서는 메시지를 보낸 후 받는 사람의 응답을 기대하지 않습니다. 이 시나리오에서 보낸 사람은 생산자이며 다음 서비스로 이벤트를 보냅니다. 그다음 서비스는 다른 함수, 메시지 브로커 또는 이벤트 허브나 스트림이 될 수 있습니다. 이 서비스는 메시지의 수신자여서는 안 됩니다. 주어진 시나리오와 마찬가지로 이벤트 허브에서 메시지를 받는 소비 함수가 메시지의 수신자입니다.

이벤트 구동 애플리케이션 스택이 분산 시스템인 경우 인프라의 각 부분과 전체 시스템을 제대로 모니터링해야 합니다.