管理 BAM 事件总线服务
“BAM 事件总线服务”也称为“跟踪数据解码服务 (TDDS)”,该服务处理源数据库中存储的跟踪数据(数据流),并将这些数据以日后可轻松查询的方式保存。
BAM 事件总线服务将商业智能数据移动到 BAM 主导入数据库,而将 BizTalk 运行状况监视数据移动到 DTA 数据库。 BAM 事件总线服务在 BizTalk 服务中作为子服务运行。
可以通过在执行期间收集事件数据,然后将数据暂时存储在与应用程序状态相同的数据库中(例如 MessageBox 数据库)来监视事务应用程序(如 Microsoft BizTalk® Server)的活动。
注意
避免在同一计算机上创建多个托管不同 BizTalk 组跟踪的应用程序实例。 如果同一台计算机中存在多个跟踪不同 BizTalk 组的实例,您将无法在 BizTalk 管理控制台或事件日志中区分哪个事件属于哪个 BizTalk 组,因为所有 BizTalk 组都显示为相同的名称。
BAM 事件总线服务读取并解码事件数据,然后将其存储到 Microsoft SQL Server™ 数据库中,在该数据库中,您可以轻松查询数据。
BAM 事件总线服务具有以下优势:
事件数据始终与应用程序的状态匹配,并且永远不会公开未提交的进度。
对正在运行的应用程序的性能影响很小,因为事件数据在应用程序状态更改时在同一本地事务中保存的记录较少。
应用程序状态的SQL Server存储针对执行性能进一步优化。 数据由 TDDS 解码并存储在单独的数据库(BAM 主导入数据库或 DTA 数据库)中。 生成报表时,将从数据库查询数据,并影响存储应用程序状态的 Message Box 数据库。
应用程序服务器和数据库中没有完成以可以查询的形式存储事件数据的工作。 它将卸载到运行 BAM 事件总线服务和 Destination SQL Server 数据库的计算机。
以低延迟处理事件数据,从而加快 TDDS 查询的处理速度。 BAM 事件总线服务协调其资源,以尽可能降低延迟。
BAM 事件总线服务器通过使用与包含配置信息的中央数据库的连接来协调其资源。 每分钟,每个活动的 BAM 事件总线服务都会向中央数据库发送一条消息,其中包含该时间点 BAM 事件总线服务的状态。
此消息称为检测信号消息。 每个 BAM 事件总线服务还会检查需要完成的新工作。 例如,BAM 事件总线服务会检查非拥有的会话,例如已添加的 MessageBox 数据库。
BAM 事件总线会话是将事件数据从源数据库(如 MessageBox)移动到包含事件数据的目标数据库,该数据库采用可以查询的格式。 同一 BAM 事件总线服务可以处理一个或多个会话。
下图显示了组成 BAM 事件总线服务器池的一组 BAM 事件总线服务器。
BAM 事件总线服务器池示意图