企业集成模式-第十一章
11.1 引言
监视和控制
观察和分析消息通信量
测试和调试
11.2 控制总线
控制总线很适合携带以下类型的消息:
- 配置消息
- 心跳消息
- 测试消息
- 异常
- 统计信息
- 实时控制台
11.3 旁路
旁路组件使用了一个简单的基于内容的路由器,它有两个输出通道。其中一个输出通道把不做任何修改的消息传递给原目标。当控制总线发出指令时,旁路组件把消息路由到另一个通道。该通道把消息发送给附加的组件,这些组件可以检查和/或修改消息。最终,这些组件再把消息路由到同一个目标。
如果旁路的线路中只包含一个组件,那么把旁路开关与组件结合为一个过滤器可以获得更高的效率。但是,采用这种方法的前提条件是,旁路线路中的组件可以修改并能包含由控制总线控制的旁路逻辑。
采用控制总线控制旁路组件的好处是,通过控制总线中的一个控制命令就能同时激活或停止多个旁路组件,通用发布-订购通道可以把控制台与所有的旁路组件连接起来。
11.4 线路分接器
如何检查点对点通道中传输的消息?
在通道中插入线路分接器,这是一个简单的接收表,能够把到来的各个消息同时发布到主通道和副通道中。
线路分接器的主要缺点是,消费和重新发布消息会产生额外的延迟。
11.5 消息历史
将消息历史附加到消息中。消息历史是消息从开始所经过的所有应用或组件的列表。
11.6 消息存储库
如何对消息的信息做出报告,而且不影响消息传递系统的松耦合和暂时性?
使用消息存储库将每个消息的信息捕获到一个集中的地方。
11.7 智能代理
如果一个服务组件采用请求者指定的返回地址作为应答消息的返回通道,应该如何跟踪这样的消息?
使用智能代理存储由原请求者提供的返回地址,并用智能代理自己的地址代替消息中的返回地址。当服务发送应答消息时,再把消息路由到原来的返回地址。
11.8 测试消息
一般认为测试消息是一种主动监视机制。不同于被动的监视机制,主动监视不依赖于组件生成的信息(如日志文件或心跳消息),而是主动地探测组件。主动监视的优点是通常能获得更深层次的测试结果,因为数据能与应用消息一样经过相同的处理步骤。主动监视还适用于那些不支持被动监视的组件。
主动监视可能存在一个缺点,即会对处理单元增加额外的负担。
11.9 通道清洁者
如何防止在通道中剩余的消息干扰测试和正在运行的系统?
使用通道清洁者把不需要的消息从通道中删除.