对于每个 BizTalk 组,请添加一个 Master MessageBox 数据库。 添加的所有后续 MessageBox 数据库称为次要 MessageBox。 Master MessageBox 处理所有订阅和消息路由。 它还可以发布消息。 辅助 MessageBox 数据库只有在特定配置后才会发布消息。
如何添加次要 MessageBox 数据库
可通过两种方式添加辅助 MessageBox 数据库:
在同一物理服务器上添加辅助 MessageBox 数据库。
如果现有的 MessageBox 物理服务器具有足够的 CPU 和 I/O 资源,并且仅因锁定争用而造成瓶颈,请执行此操作。 在单独的 IO 驱动器上创建辅助 MessageBox 数据库。
优势:
其他消息框可以使用额外的 CPU 余量。
所需的 SQL Server 许可证更少
消除网络跃点
在不同的物理服务器上添加辅助 MessageBox 数据库
在这种情况下,请使用具有独立IO的专用物理服务器作为额外的MessageBox数据库。
下图显示了将 SQL 层从一个 MessageBox 数据库横向扩展到三个 MessageBoxes 数据库的情况。
何时横向扩展 MessageBox 数据库
MessageBox 数据库成为瓶颈。 这些瓶颈可以是:
中央处理器 对于非常昂贵和复杂的业务流程方案,MessageBox 数据库消耗大量 CPU 资源。 添加另一个发布实例到 MessageBox 数据库应该有助于增加吞吐量。
锁定争用 具有多个主机实例或业务流程的复杂方案往往在 MessageBox 数据库上创建锁争用。 同样,添加另一个发布 MessageBox 数据库应该有助于增加吞吐量。
纵向扩展无法解决瓶颈。 例如,如果 Master MessageBox 数据库已绑定锁争用,则横向扩展是唯一的选项。
纵向扩展太贵了。 例如,如果将现有的四路处理器服务器升级到八路服务器比添加另一个四路处理器服务器更昂贵,则横向扩展是更好的选择。
无法横向扩展 SQL 层时
从理论上讲,只要 Master MessageBox 数据库不是瓶颈,SQL 层就应无限期缩放。 为此,请考虑将 Master MessageBox 数据库设置为非发布数据库,因此它只执行路由。 但是,一旦主服务器因锁竞争而遇到瓶颈,就无法再扩展 SQL 层。
横向扩展策略和注意事项
首先纵向扩展 Master MessageBox 数据库,然后横向扩展。
从 1 到 3 个 SQL MessageBox 数据库进行横向扩展,而不是从 1 到 2 个。 请考虑上面标题为“4 BizTalk Server,1 SQL Server 拓扑”的图中所示的 1 个 SQL Server 拓扑,并假定 SQL Server 已绑定 CPU,换句话说,CPU 处理是瓶颈。 如果仅向此拓扑添加一个 MessageBox 数据库,主 MessageBox 仍然受 CPU 限制,而辅助 MessageBox 数据库将未被充分利用。 因此,缩放因子几乎为 1。 如果禁用主 MessageBox 数据库上的发布功能,并将其专用于执行路由,那么辅助 MessageBox 数据库将负责发布操作。 不过,由于辅助 MessageBox 数据库是唯一的发布服务器,但仍成为瓶颈,因此这无助于增加整体吞吐量。 因此,添加 2 个辅助 MessageBox 数据库并禁用 Master MessageBox 数据库上的发布是在此方案中横向扩展的建议方法。
Master MessageBox 数据库最终将成为瓶颈。 因此,托管 Master MessageBox 数据库的物理计算机应更快、更大。
若要尽量减少通过网络发送数据(以及关联的 DTC 开销),请考虑将多个 MessageBox 数据库放置在具有专用驱动器的同一物理计算机上。 同时,请确保保存这些多个数据库的计算机不会成为瓶颈,因为多个 MessageBox 数据库正在共享资源。
所有辅助 MessageBox 数据库都应使用可比较的硬件,因为工作在发布 MessageBox 数据库之间均匀分布。
由于只要主 MessageBox 数据库没有瓶颈,就可以横向扩展辅助 MessageBox 数据库,因此辅助 MessageBox 数据库可以在 CPU 资源少于主 MessageBox 数据库服务器所需的计算机上运行。
另请参阅
横向扩展 BizTalk Server 层
纵向扩展 BizTalk Server 层
纵向扩展 SQL Server 层
Scaled-Out 接收主机
Scaled-Out 处理器主机
Scaled-Out 发送主机
使用 Windows Server 群集为 BizTalk Server Hosts2 提供高可用性
Scaled-Out 数据库
集群化 BizTalk Server 数据库