Notification Services 的安全性、可靠性、伸缩性和可用性
企业系统必须是安全、可靠、可伸缩和可用的。Microsoft SQL Server Notification Services 在编程框架和运行 Notification Services 的服务器体系结构方面满足了这些要求。
安全性
利用 Notification Services、Microsoft .NET Framework 和 SQL Server 提供的设计功能,应用程序开发人员和管理员可以增强应用程序及整体部署的端对端安全性:
- Notification Services 使用符合行业标准的 Web 安全模型通过有线或无线设备在 Internet 上进行通信,并使用标准的 Microsoft Windows 安全机制和基于 SQL Server 2005 的安全机制来保护服务器。
- 各个 Notification Services 实例通过基于 SQL Server 2005 的安全机制保持相互独立。从而在保证每个实例的安全性的同时,确保多个实例可以驻留在同一台计算机上。如果要使实例完全独立,请不要将多个实例放在同一个数据库中,因为这些实例会共享数据库角色。
- 各个订阅方由于通知的生成和分发方式的不同而相互独立。因此,对每个订阅进行处理时,应将其视为系统中唯一的一个订阅。
- 条件操作支持对已定义的数据集执行用户定义的查询,这种操作要求使用独立的数据库用户帐户,以帮助确保用户不能访问服务器上的其他数据。
- 应用程序开发人员可以通过定义自己的事件提供程序来扩展 Notification Services。这些事件提供程序均以 .NET Framework 支持的托管代码的形式运行,因此不会危及服务器的安全性。
可靠性
SQL Server 2005 数据库引擎 可以非常可靠地存储数据和处理订阅,使 Notification Services 在下列方面获益:
- 由 Notification Services 管理的订阅数据存储在 SQL Server 2005 中,这种支持提前写入日志和故障转移群集的数据库服务器非常可靠。
- 在 Notification Services 中,对事件、订阅和通知的处理完全是事务性的,因此提供了额外的可靠性保证。请注意,某些传递协议 [例如,简单邮件传输协议 (SMTP)] 不能提供保证安全的消息传递,而 Notification Services 平台具有重试逻辑,使应用程序能够重新发送消息以再次尝试进行传递。
另外,通过对自定义组件使用托管代码,Notification Services 可以确保自定义组件不会危及系统的稳定性。应用程序开发人员可以创建可靠的事件提供程序和可靠的传递协议 [例如,基于消息队列 (MSMQ)],从而获得完全的端对端可靠性。
可伸缩性
通过基于 Windows 的多处理器服务器,Notification Services 可支持高吞吐量应用程序,如每分钟接收数千个传入事件、处理数百万匹配的订阅以及传递数千个通知。应用程序的伸缩性体现在下列几个方面:
- 受益于底层 SQL Server 数据库引擎 的向上扩展功能,多个订阅管理界面可以并行运行。
- Notification Services 是多线程的,并且在多处理器计算机上运行时可以向上扩展。
- 可以将 Notification Services 服务部署在一台服务器上,而将 Notification Services 数据库部署在另一台服务器上。这种配置方式非常有效,因为通知是在数据库服务器上生成的,而通知的格式化则是在 Notification Services 服务器上进行的。
- 单个实例可支持多个事件提供程序和多个分发服务器。可以将事件提供程序、生成器和分发服务器分别部署在多台服务器上。当部署方案涉及大量通知以及大量格式化和传递开销时,分发服务器的向外扩展能力就显得非常重要。
- 若要进一步向外扩展,可以将订阅划分到多个 Notification Services 实例上,每个实例独立运行。因为应用程序模型规定各个订阅相互独立,所以上述划分方式相当自然,它使通知应用程序具备强大的扩展能力。必须在应用程序中实施订阅的划分。Notification Services 不会自动划分订阅。
可用性
在 Notification Services 实例中,所有数据和状态都在 SQL Server 数据库服务器中进行维护。只有临时数据是在事件提供程序、生成器和分发服务器中进行维护的。
用来存储和处理数据的 SQL Server 2005 是一种可靠的数据库服务器,具备多项高可用性的技术,包括故障转移群集、日志传送和事务复制。数据库服务器经过配置可以自动处理硬件故障。
请参阅
概念
Notification Services 是什么
Notification Service 使用方案
Notification Services 体系结构
Notification Services 编程框架
Notification Services 部署选项
Notification Services 与其他技术
Notification Services 版本