BAM API 与管理的全面解析
1. BAM 基础与 EventStream API
在现代服务架构中,对服务和业务流程进行有效监控和度量至关重要。BAM(Business Activity Monitoring)提供了一系列强大的工具和 API,帮助我们实现这一目标。
BAM 的逻辑度量模型包含活动定义以及属于每个活动的视图定义。同时,为了安全起见,BAM 允许将角色与视图关联起来。视图的创建过程使用 BAM 前端工具,需要设置各种类型的维度。
BAM 提供了暴露的 API,可用于与 BAM 跟踪基础设施进行交互,这使得我们能够将基于 BAM 的检测过程扩展到 BizTalk 解决方案之外。其中,注册事件时会用到 EventStream,共有四种类型的 EventStream API:
-DirectEventStream (DES):这是一个同步调用,无延迟,事件注册后会立即在 BAMPrimaryImport 表中可用。但对于高并发和消息量激增的不可知服务,它可能成为瓶颈,因为它是阻塞操作,且是唯一直接写入 BAMPrimaryImport 数据库的 API。
-BufferedEventStream (BES):对于需要调用 BAM 跟踪基础设施的外部服务,这通常是正确的选择。它是异步操作,先将数据写入临时假脱机表,之后跟踪数据和解码服务(TDDS)会将数据移动到 BAMPrimaryImport 表。使用跟踪配置文件编辑器将活动模型链接到编排或消息时,会创建使用 BufferedEventStream 的拦截器。
-Orchestrat