다이제스트 또는 멀티캐스트 배달 지정
Notification Services는 알림 집계를 위한 2가지 옵션인 다이제스트 배달과 멀티캐스트 배달을 제공합니다. 다이제스트 배달은 단일 구독자에 대한 메시지를 메시지 하나로 결합합니다. 멀티캐스트 배달은 동일한 알림이 여러 구독자로 보내지는 경우를 인식하고 알림의 서식을 한 번만 지정한 후 보냄으로써 콘텐츠 포맷터 리소스를 보존합니다.
중요: |
---|
다이제스트 배달과 멀티캐스트 배달 중에서 하나만 사용할 수 있으며 두 가지를 한꺼번에 사용할 수 없습니다. |
이 항목에서는 다이제스트 및 멀티캐스트 배달과 이러한 옵션의 구성 방법을 설명합니다.
다이제스트 배달
일부 응용 프로그램은 동일한 알림 일괄 처리 내에 단일 구독자에 대한 알림을 여러 개 생성할 수 있습니다. 개별 구독자로 보내지는 메시지의 수를 줄이려는 경우 비슷한 알림을 하나의 다이제스트 메시지로 결합하는 다이제스트 배달을 설정할 수 있습니다.
알림 클래스에 대해 다이제스트 배달이 설정되면 단일 알림 일괄 처리 내의 모든 알림이 다이제스트 배달 방식으로 배달됩니다. Notification Services는 일괄 처리 내에서 다이제스트 설정 알림 필드에 포함된 구독자 ID, 로캘, 장치 및 데이터가 같은 모든 알림을 개별적으로 다이제스트 알림에 결합한 후 해당 데이터를 모두 콘텐츠 포맷터로 보내어 서식이 같은 결과를 반환합니다.
다이제스트 알림을 형성하는 알림 집합의 첫 번째 알림을 다이제스트 헤드 알림이라고 하며 나머지 알림을 다이제스트 트레일러 알림이라고 합니다. 메시지 본문은 모든 알림에서 집계한 정보로 구성됩니다.
다음 표에서는 알림 클래스에 대한 단순화된 알림 테이블을 보여 줍니다. 이 알림 클래스에서 State 필드는 다이제스트 그룹화 속성이 true로 설정되어 있으므로 다이제스트 그룹화를 확인하는 데 사용됩니다. 굵게 표시한 행은 다이제스트 메시지로 결합되는 알림을 나타냅니다.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
en-US |
Seattle |
WA |
|
2 |
Alan |
en-US |
Seattle |
WA |
|
3 |
Bob |
en-US |
Spokane |
WA |
|
4 |
Bob |
en-US |
San Francisco |
CA |
|
5 |
Bob |
file |
en-US |
Tacoma |
WA |
이 예에서 Notification Services가 여러 알림을 하나의 다이제스트로 결합할 수 있으려면 SubscriberId, DeviceName, SubscriberLocale 및 State 열의 값이 동일해야 합니다. 알림 1과 3은 일치 조건을 만족하므로 하나의 다이제스트로 결합됩니다. 그러나 알림 2는 구독자가, 알림 4는 도시가, 알림 5는 장치가 다르므로 이 표의 데이터를 기반으로 결합되지 않습니다.
다이제스트 배달을 설정하려면
XML을 사용하여 응용 프로그램을 정의할 경우에는 ADF(응용 프로그램 정의 파일)의 NotificationClass 요소에서 다이제스트 배달을 설정하고 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 NMO(Notification Services Management Objects)를 사용하여 다이제스트 배달을 설정합니다.
멀티캐스트 배달
[!참고] SQL Server 2005 Standard Edition에서는 멀티캐스트 배달이 지원되지 않습니다.
응용 프로그램이 여러 구독자에 대해 동일한 알림 데이터를 생성할 수 있으면 콘텐츠 포맷터가 알림의 서식을 한 번만 지정한 후 구독자 목록에 포함된 구독자에게 보내도록 멀티캐스트 배달을 설정할 수 있습니다.
멀티캐스트 배달이 설정된 알림 클래스의 경우 배포자는 다음 작업을 수행하여 멀티캐스트 알림의 서식을 지정합니다.
- 배포자는 장치, 로캘 및 알림 필드의 값을 기준으로 테이블 행을 정렬합니다.
- 배포자는 행 읽기를 시작합니다. 관련 열의 값이 동일할 경우 배포자는 멀티캐스트 목록에 구독자 정보를 추가합니다. 각 멀티캐스트 메시지에 대한 구독자 수를 제한할 수 있습니다. 자세한 내용은 배달 프로토콜 이름 및 필드 지정을 참조하십시오.
- 배포자가 관련 열들의 값이 다른 행을 발견하면 콘텐츠 포맷터에 이전의 열 값 집합을 전달한 후 서식이 지정된 출력을 구독자 목록과 함께 배달 프로토콜에 전달합니다.
다음 표에서는 다이제스트 배달 설명에 사용된 것과 동일한 알림 데이터를 보여 줍니다. 이번에는 멀티캐스트 알림을 확인하기 위해 장치, 로캘 및 모든 알림 필드가 사용됩니다.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
en-US |
Seattle |
WA |
|
2 |
Alan |
en-US |
Seattle |
WA |
|
3 |
Bob |
en-US |
Spokane |
WA |
|
4 |
Bob |
en-US |
San Francisco |
CA |
|
5 |
Bob |
file |
en-US |
Tacoma |
WA |
알림 1과 2에는 동일한 City 및 State 데이터가 포함되어 있지만 다른 구독자에 대한 데이터입니다. 멀티캐스트 배달이 설정되면 Notification Services는 알림 1의 서식을 지정한 후 서식이 지정된 메시지를 받는 사람 목록(Bob과 Alan)과 함께 배달 프로토콜로 보냅니다. 그러나 알림 3, 4 및 5에는 고유한 City 및 State 데이터가 포함되어 있으므로 멀티캐스트 알림이 아닙니다.
멀티캐스트 고려 사항
멀티캐스트 배달은 구독자에게 투명하게 수행됩니다. 알림 메시지를 보내는 데 사용되는 실제 네트워크 프로토콜은 멀티캐스팅을 지원할 필요가 없습니다.
멀티캐스트가 설정되면 배달 프로토콜은 서식이 지정된 메시지를 구독자 정보 목록과 함께 받습니다. 배달 프로토콜은 서식이 지정된 메시지를 여러 구독자에게 보내기 위해 받는 사람 목록을 사용할 수 있어야 합니다. 네트워크 프로토콜이 멀티캐스트 배달을 지원할 경우에는 단일 메시지를 보내고, 그렇지 않은 경우 구독자 목록을 반복 처리한 후 각 구독자에게 동일한 메시지를 보내는 방식으로 여러 구독자에게 메시지를 보낼 수 있습니다.
표준 배달 프로토콜은 멀티캐스트 배달을 지원합니다. 타사의 배달 프로토콜을 사용할 경우 개발자에게 문의하여 배달 프로토콜이 멀티캐스트를 지원하는지 확인합니다.
또한 멀티캐스트 배달을 사용할 경우 서식이 같은 출력이 여러 구독자로 보내지므로 멀티캐스트 알림에 구독자별 정보가 포함되어 있으면 안 됩니다. 배포자는 받는 사람 정보를 콘텐츠 포맷터로 전달하지 않습니다. 콘텐츠 포맷터가 서식 지정을 위해 받는 사람 정보를 사용하도록 프로그래밍된 경우 콘텐츠 포맷터는 작동되지 않습니다.
그러나 Notification Services는 서식 지정 중에 외부 데이터 원본에서 가져온 구독자별 정보를 알림 데이터로 통합할 수 있도록 허용합니다. 콘텐츠 포맷터가 알림 데이터에 추가하는 외부 정보는 받는 사람마다 다르지 않습니다.
멀티캐스트 배달을 설정하려면
XML을 사용하여 응용 프로그램을 정의할 경우에는 ADF(응용 프로그램 정의 파일)의 NotificationClass 요소에서 멀티캐스트 배달을 설정하고 프로그래밍 방식으로 응용 프로그램을 정의할 경우에는 NMO를 사용하여 멀티캐스트 배달을 설정합니다.
참고 항목
개념
사용자 지정 콘텐츠 포맷터 개발
사용자 지정 배달 프로토콜 개발
알림 스키마 정의
콘텐츠 포맷터 구성
알림 일괄 처리 크기 지정
알림 만료 기간 지정
배달 프로토콜 이름 및 필드 지정
관련 자료
알림 클래스 정의
배달 프로토콜 구성
알림 클래스 정의
Notification Services 응용 프로그램 정의