다음을 통해 공유


이벤트 처리 순서 지정

Notification Services에서는 응용 프로그램 규칙 처리 방법을 결정하기 위한 두 가지 옵션을 제공합니다. 규칙을 생성자 퀀텀 기간마다 한 번씩 발생시킬 것인지 아니면 이벤트 일괄 처리가 도착할 때마다 발생시킬 것인지 지정할 수 있습니다. 이 두 옵션은 각각 퀀텀 순차 처리하위 퀀텀 순차 처리라고 합니다. 이 두 옵션은 엄격한 데이터 정확성과 생성자 성능 간에 선택할 수 있도록 합니다. 기본적으로 Notification Services는 퀀텀 순차 처리를 사용합니다. 생성자 퀀텀에 대한 자세한 내용은 생성자 퀀텀 기간 지정을 참조하십시오.

퀀텀 순차 처리

이 모드에서 Notification Services는 다음과 같은 순서로 생성자 퀀텀마다 한 번씩 규칙을 발생시킵니다.

  1. 이벤트 기록 규칙
  2. 이벤트 기반 구독 규칙
  3. 예약된 구독 규칙

퀀텀 동안 여러 개의 이벤트 일괄 처리가 도착한 경우 Notification Services는 모든 이벤트가 동일한 일괄 처리에 속하는 것처럼 모든 이벤트 일괄 처리에 대해 한 번에 이벤트 기록 규칙 및 이벤트 기반 구독 규칙을 처리합니다.

퀀텀 동안 처리되어야 하는 모든 예약된 구독은 퀀텀 기간 종료 시에 한꺼번에 처리됩니다.

퀀텀 기간 동안 도착한 모든 이벤트와 퀀텀 기간 동안 예정된 모든 예약된 구독을 그룹화하여 응용 프로그램은 일괄 처리 시 성능 효과를 크게 얻을 수 있습니다. 그러나 이 같은 성능 이점은 엄격한 순서 정확성 측면에서는 희생이 따릅니다. 사용 중인 응용 프로그램에서 순서 정확성이 엄격하게 요구되지 않는다면 퀀텀 순차 처리를 사용하십시오.

하위 퀀텀 순차 처리

일부의 경우에는 모든 이벤트 일괄 처리를 받은 순서대로 개별적으로 처리해야 하고 예약된 구독이 처리가 예정되기 전에 도착한 데이터만 사용하도록 해야 합니다. 이 경우 하위 퀀텀 순차 처리를 사용해야 합니다.

하위 퀀텀 순차 처리는 이벤트 및 구독을 다음과 같이 처리합니다.

  1. 첫 번째 이벤트 일괄 처리를 처리하기 전에 Notification Services는 첫 번째 이벤트 일괄 처리가 도착하기 전에 처리가 예정된 예약된 구독에 대해 예약된 규칙을 발생시킵니다.
  2. 그런 다음 Notification Services는 도착 순서대로 각 이벤트 일괄 처리에 대해 규칙을 발생시킵니다.
    1. 이벤트 기록 규칙
    2. 이벤트 기반 구독 규칙
    3. 예약된 구독 규칙

모든 이벤트 일괄 처리가 처리된 후 Notification Services는 마지막 이벤트 일괄 처리의 도착 이후에 처리가 예정된 모든 구독에 대해 예약된 구독 규칙을 발생시킵니다.

퀀텀 및 하위 퀀텀 순차 처리 설명

다음 그림에서는 8개의 생성자 퀀텀을 보여 줍니다. 이러한 8개의 생성자 퀀텀 동안 12개의 이벤트 일괄 처리가 도착하고 12개의 예약된 구독이 처리가 예정되어 있습니다.

퀀턴 순차 처리 동작 방법

이벤트 및 구독 시간 표시 막대 예

생성자는 지정된 이벤트 처리 순서에 따라 다르게 12개의 이벤트 일괄 처리와 12개의 예약된 구독을 처리합니다. 다음 표에서는 생성자가 각 퀀텀을 처리하는 방법을 보여 줍니다.

퀀텀 퀀텀 순차 처리 하위 퀀텀 순차 처리

퀀텀 1 처리

이벤트 일괄 처리 E1, E2 및 E3은 함께 처리됩니다.

처리되도록 예약된 구독이 없습니다.

이벤트 일괄 처리 E1, E2 및 E3은 순차적으로 처리됩니다.

처리되도록 예약된 구독이 없습니다.

퀀텀 2 처리

이벤트 일괄 처리 E4 및 E5는 함께 처리됩니다.

예약된 구독 T1이 처리됩니다.

이벤트 일괄 처리 E4 및 E5는 순차적으로 처리됩니다.

예약된 구독 T1이 처리됩니다.

퀀텀 3 처리

이벤트 일괄 처리 E6 및 E7은 함께 처리됩니다.

예약된 구독 T2가 처리됩니다.

이벤트 일괄 처리 E6이 처리됩니다.

예약된 구독 T2가 처리됩니다.

이벤트 일괄 처리 E7이 처리됩니다.

퀀텀 4 처리

이벤트 일괄 처리 E8이 처리됩니다.

예약된 구독 T3 및 T4가 함께 처리됩니다.

이벤트 일괄 처리 E8이 처리됩니다.

예약된 구독 T3 및 T4가 함께 처리됩니다.

퀀텀 5 처리

이벤트 일괄 처리 E9 및 E10은 함께 처리됩니다.

예약된 구독 T5가 처리됩니다.

예약된 구독 T5가 처리됩니다.

이벤트 일괄 처리 E9 및 E10는 순차적으로 처리됩니다.

퀀텀 6 처리

이벤트 일괄 처리 E11이 처리됩니다.

예약된 구독 T3 및 T7이 함께 처리됩니다.

예약된 구독 T6이 처리됩니다.

이벤트 일괄 처리 E11이 처리됩니다.

예약된 구독 T7이 처리됩니다.

퀀텀 7 처리

이벤트 일괄 처리 E12가 처리됩니다.

예약된 구독 T8 및 T9가 함께 처리됩니다.

예약된 구독 T8 및 T9가 함께 처리됩니다.

이벤트 일괄 처리 E12가 처리됩니다.

퀀텀 8 처리

처리할 이벤트 일괄 처리가 없습니다.

예약된 구독 T10, T11 및 T12가 함께 처리됩니다.

처리할 이벤트 일괄 처리가 없습니다.

예약된 구독 T10, T11 및 T12가 함께 처리됩니다.

퀀텀 또는 하위 퀀텀 순차 처리 구성

하위 퀀텀 순차 처리를 구성하려면 ProcessEventsInOrder 속성을 true로 설정합니다. 기본값은 퀀텀 순차 처리이므로 ProcessEventsInOrder 속성을 false로 설정하거나 응용 프로그램 정의에서 이 속성을 제외시킬 수 있습니다.

퀀텀 또는 하위 퀀텀 순차 처리를 구성하려면

  • XML을 통해 응용 프로그램을 정의할 경우에는 ProcessEventsInOrder Element (ADF)를 사용하여 순차 처리를 정의합니다.
  • 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 ProcessEventsInOrder 속성(NMO)을 사용하여 순차 처리를 정의합니다.

참고 항목

개념

응용 프로그램 실행 설정 지정
생성자 퀀텀 기간 지정
이벤트 기록 규칙 정의
구독 규칙 정의
이벤트 규칙 정의
예약 규칙 정의

도움말 및 정보

SQL Server 2005 지원 받기