http://www.blogjava.net/flyingbug/archive/2005/11/23/21170.html
System Management及其相关模式
开发一个基于消息的解决方案是不容易的事情,在生产中操作这样一个产品同样也是一个挑战:一个基于消息的集成解决方案一天可以产生、路由和转换成千上万的消息。我们不得不处理异常、效率瓶颈或改变合作系统。而为了使事情变得更加有挑战性,组件经常被分布在不同的平台和机器上,甚至位于不同的地理位置。
System Management包含以下几种模式
l Control Bus
l Detour
l Wire Tap
l Message History
l Message Store
l Smart Proxy
l Test Message
l Channel Purger
除了与生据来的复杂性、分布式集成的规模以及个性化的应用之外,低耦合的架构使得测试和debug变得更加困难。Martin Fowler将这个症状称为“架构师的梦想,开发者的梦魇”。低耦合的架构原则以及间接的依赖于外部系统提供了灵活性。然而,测试一个消息生产者不了解消息消费者的系统可能会是一个挑战。另外异步的和时间相关的消息使得事情变的更加复杂。举例来说,消息方案可能被设计没有被成消息生产者者必须从接受者那里得到一个回应。同样的消息基础设施通常保证传输消息,但不能保证传输时间。这是的开发基于消息传送结果的测试用例变得困难。
当监控一个消息解决方案,我们可以在两个抽象层面上跟踪消息流。一个典型的系统管理方案监控多少消息被发送或者它多长时间得到一个被处理的消息。这些监控方案不检查消息数据,除了可能会检查消息头中的几个字段(比如消息标识或者消息历史)。与之相对的,BAM(business activity monitoring)方案聚焦于包含在消息中的有效数据,举例来说,发生在过去一小时的所有订单的金额。System Management中的很多模式都足够通用并可以用在以上两个目的中(监控消息头或者消息内容)。然而,由于BAM本身就是一个新领域,并且需要从数据仓库中获得很多数据(有些我们根本就没有涉及到),我们决定在系统管理的内容中讨论这些模式。
系统管理模式被设计用于为保持一个基于消息的复杂系统的运转所提出的需求并提供工具。System Management的模式涉及三个种类:监控和控制,观察和分析消息流量,测试和调试。
监控和控制
一个Control Bus提供一个单独的控制点来对一个分布式方案进行监控和管理。它将多个组件连接到一个中心管理控制台,这里可以显示每个组件的状态并且监控通过每个组件的消息流量。控制台同时也可以用于发送控制命令给组件,比如,转变消息流。
我们可能想要在路由消息时添加附加的步骤,比如验证或者日志。由于这些步骤可能使效率降低,所以我们可以通过Control Bus来控制他们开关。一个Detour为我们提供这种能力。
观察和分析消息流量
有时我们想要在不影响主要消息流的情况下观察消息的内容。一个Wire Tap允许我们接入到消息流中。
当我们调试一个基于消息的系统,知道一个特定的消息在哪使很有帮助的。Message History保留一个消息访问过的所有组件的日志,而不需要增加组件间的依赖。
然而Message History依赖于单独的消息,一个中心的Message Store可以提供一个穿越系统的每个消息的完整记录。结合Message History,Message Store可以分析所有消息穿过系统的可能路径。
Wire Tap, Message History, 和Message Store帮助我们分析异步的消息流。为了跟踪发送到请求-应答service的消息,我们需要在消息流中插入一个Smart Proxy。
测试和调试
在部署前测试一个消息系统是一个非常好的注意。但是测试不应该停止在部署前。你应该有能力验证正在运行的消息系统运行持续的运行正常。你可以周期性的发送一个Test Message到系统中并验证结果。
当一个组件失败或者运行不正常,它可以简单的终止,并放弃一个channel中的剩余消息。在测试期间这是很有用的。一个Channel Purger可以为我们做这些。
分享到:
相关推荐
收集了有关ESB方面的资料,做成PPT汇报,能比较系统全面的介绍ESB的来龙去脉以及集成应用情况。
- **ESB产品选择**:根据业务需求和技术评估结果,选定最适合的ESB产品。 - **适配器选择**:选择适合特定系统的适配器,以简化集成工作。 ##### 4. 运作模型设计 - **服务流设计**:设计服务的路由、转换和映射...
在IBM的ESB实现中,其技术架构通常包括以下几个核心组件: 1. **服务代理(Service Proxy)**:这是ESB与外部服务交互的接口,它负责转换和路由消息,确保不同系统之间的兼容性。 2. **服务注册中心(Service ...
4. **政策监控**:持续监控政策执行情况,收集审计日志和性能指标,及时发现并解决问题。 5. **政策更新**:根据业务需求和环境变化定期审查和更新政策,保持政策的有效性。 #### 实战案例分析 本篇分享了几个具体...
1. **实时监控**:ESB平台可以实时收集设备的运行状态、性能指标和故障信息,为运维人员提供即时反馈,便于及时发现并处理问题。 2. **智能报警**:通过对设备数据的分析,ESB能自动识别异常情况,触发报警机制,...
**记录**是ESB操作的关键方面,它涉及到收集和存储ESB处理的所有交易数据。这些数据包括交易时间、交易类型、源和目标系统、交易状态以及任何异常或错误信息。通过记录,我们可以追踪服务之间的交互,诊断问题,优化...
首先,ESB作为企业级中间件,是构建分布式系统和集成不同应用的关键技术。它允许不同的信息系统之间进行数据交换和业务流程协调,有效地打破信息孤岛,促进整个组织内部的互联互通。在智慧医院的场景下,ESB可以连接...
适配器是ESB中非常重要的一环,它能够支持多种通信协议和技术,使得不同系统之间的通信成为可能。常见的适配器类型包括但不限于: - **Web Services (WS):** 支持基于SOAP或REST的服务调用。 - **Java消息服务 ...
ESB可以通过消息队列、流处理技术,实现高速数据传输和即时响应,支持实时决策和业务操作。 - **物联网(IoT)集成**:随着物联网设备的普及,大量传感器和智能终端产生的数据需要高效收集和处理。ESB可以作为...
- **ESB总线技术**:通过数据总线的方式发布WebService调用或下发JMS数据,实现与外部系统的数据共享服务。此部分通常采用第三方标准中间件产品,如SAP的BOE(BusinessObjects Enterprise)、IBM的Cognos、MSTR的...
- IoT集成:物联网集成技术使物理设备能够与信息系统通信,收集和处理实时数据。 - 数据湖/仓库集成:数据集成工具如ETL(提取、转换、加载),帮助组织整合来自不同源的大量数据,形成统一视图。 4. 智能化信息...
- **话单采集**:收集通话记录数据。 - **消息接入**:处理各类消息服务。 - **融合计费**:集成多种计费模型。 #### 三、核心模型 核心模型的设计对于MVNO的成功至关重要,主要包含以下几个关键要素: - **BSS综合...
- **临床数据中心(CDR)**:作为医院信息平台的核心,CDR负责收集、整理和管理临床数据,为医生提供准确、及时的决策支持。 - **医院消息服务总线(ESB)**:作为系统间的通信桥梁,ESB能够实现不同系统之间的数据...
- **需求分析阶段:** 收集用户需求,明确系统的目标和功能。 - **开发阶段:** - 规划:确定项目的范围、时间表、成本预算等。 - 分析:对需求进行详细分析,制定设计方案。 - 设计:完成系统的逻辑设计和物理...
这个项目主要是为了测试开关站的操作,利用了一系列的Java技术和架构组件,包括RESTful Web服务、企业服务总线(ESB)、Java消息服务(JMS)以及Apache骆驼(Camel)框架。接下来,我们将深入探讨这些技术及其在实际...
最后,微服务架构往往需要从单体应用转型,这可能涉及使用ESB(企业服务总线)如Mule进行服务编排和协议转换,逐步将单体拆分成独立的服务。 综上所述,微服务技术架构设计涵盖了众多技术和工具,旨在构建一个灵活...