`
flyingbug
  • 浏览: 130220 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【ESB专题】之六 - System Management及其相关模式

阅读更多

<!----><o:p> </o:p>

开发一个基于消息的解决方案是不容易的事情,在生产中操作这样一个产品同样也是一个挑战:一个基于消息的集成解决方案一天可以产生、路由和转换成千上万的消息。我们不得不处理异常、效率瓶颈或改变合作系统。而为了使事情变得更加有挑战性,组件经常被分布在不同的平台和机器上,甚至位于不同的地理位置。

<o:p> </o:p>

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

<o:p> </o:p>

<o:p> </o:p>

除了与生据来的复杂性、分布式集成的规模以及个性化的应用之外,低耦合的架构使得测试和debug变得更加困难。Martin Fowler将这个症状称为“架构师的梦想,开发者的梦魇”。低耦合的架构原则以及间接的依赖于外部系统提供了灵活性。然而,测试一个消息生产者不了解消息消费者的系统可能会是一个挑战。另外异步的和时间相关的消息使得事情变的更加复杂。举例来说,消息方案可能被设计没有被成消息生产者者必须从接受者那里得到一个回应。同样的消息基础设施通常保证传输消息,但不能保证传输时间。这是的开发基于消息传送结果的测试用例变得困难。

<o:p> </o:p>

当监控一个消息解决方案,我们可以在两个抽象层面上跟踪消息流。一个典型的系统管理方案监控多少消息被发送或者它多长时间得到一个被处理的消息。这些监控方案不检查消息数据,除了可能会检查消息头中的几个字段(比如消息标识或者消息历史)。与之相对的,BAMbusiness activity monitoring)方案聚焦于包含在消息中的有效数据,举例来说,发生在过去一小时的所有订单的金额。System Management中的很多模式都足够通用并可以用在以上两个目的中(监控消息头或者消息内容)。然而,由于BAM本身就是一个新领域,并且需要从数据仓库中获得很多数据(有些我们根本就没有涉及到),我们决定在系统管理的内容中讨论这些模式。

<o:p> </o:p>

系统管理模式被设计用于为保持一个基于消息的复杂系统的运转所提出的需求并提供工具。System Management的模式涉及三个种类:监控和控制,观察和分析消息流量,测试和调试

<o:p> </o:p>

监控和控制<o:p></o:p>

<o:p> </o:p>

一个Control Bus提供一个单独的控制点来对一个分布式方案进行监控和管理。它将多个组件连接到一个中心管理控制台,这里可以显示每个组件的状态并且监控通过每个组件的消息流量。控制台同时也可以用于发送控制命令给组件,比如,转变消息流。

我们可能想要在路由消息时添加附加的步骤,比如验证或者日志。由于这些步骤可能使效率降低,所以我们可以通过Control Bus来控制他们开关。一个Detour为我们提供这种能力。

<o:p> </o:p>

观察和分析消息流量<o:p></o:p>

<o:p> </o:p>

有时我们想要在不影响主要消息流的情况下观察消息的内容。一个Wire Tap允许我们接入到消息流中。

当我们调试一个基于消息的系统,知道一个特定的消息在哪使很有帮助的。Message History保留一个消息访问过的所有组件的日志,而不需要增加组件间的依赖。

然而Message History依赖于单独的消息,一个中心的Message Store可以提供一个穿越系统的每个消息的完整记录。结合Message HistoryMessage Store可以分析所有消息穿过系统的可能路径。

Wire Tap, Message History, Message Store帮助我们分析异步的消息流。为了跟踪发送到请求-应答service的消息,我们需要在消息流中插入一个Smart Proxy

<o:p> </o:p>

测试和调试<o:p></o:p>

<o:p> </o:p>

在部署前测试一个消息系统是一个非常好的注意。但是测试不应该停止在部署前。你应该有能力验证正在运行的消息系统运行持续的运行正常。你可以周期性的发送一个Test Message到系统中并验证结果。

当一个组件失败或者运行不正常,它可以简单的终止,并放弃一个channel中的剩余消息。在测试期间这是很有用的。一个Channel Purger可以为我们做这些。

<o:p> </o:p>

分享到:
评论

相关推荐

    ESB SOA 普元 中国电信集团的平台实践

    - **MBOSS系统的特性**:中国电信MBOSS(Management and Business Support System,管理和业务支持系统)具有更新周期短、业务量大且难以预测等特点,对ESB提出了更高的要求。 - **商业ESB套件的要求**:选择最适合...

    SAP中英文对照(主要还是让大家伙说中文时候,能够正确对应上SAP的英文,统一总是能提高效率)

    在IT行业中,SAP(System Applications and Products in Data Processing)是一个全球知名的企业资源规划(ERP)软件系统,用于集成和管理企业的各项业务流程。本文将详细介绍SAP中的关键概念及其对应的英文术语,以...

    IT项目运维资料-14、全程追溯管控平台培训纪要.docx

    - **WMS**(Warehouse Management System):集成仓库管理系统,优化库存管理。 - **物流**:确保产品运输过程中的数据准确性。 #### 2.4 管控平台数据指标体系 - **食安办指标**:符合食品安全标准的各项指标。 - ...

    Java专业术语标准化规范表

    - **DBMS (Database Management System)**:数据库管理系统,一种用于管理和组织数据的软件系统。 - **DDL (Data Definition Language)**:数据定义语言,SQL的一部分,用于创建、修改和删除数据库对象(如表、视图...

    Oracle-Soa-Suite-Datasheet.pdf

    - **功能**:过滤不相关的数据。 - **应用场景**:减少无用数据的处理负担。 ##### 21. Web Services Management - **功能**:提供服务管理功能,包括策略制定和执行。 - **应用场景**:确保服务的安全性和合规性...

    华硕AP1600R-E2(BA2)服务器

    最后,华硕AP1600R-E2(BA2)提供的ASWM(ASUS System Web-Based Management)管理软件使得远程监控和管理变得更加便捷。配合华硕全球先进的维修服务(ARS)系统,用户可以获得及时的技术支持和维护服务,进一步确保...

    开局个人总结.docx

    - EMB相关检查:检查与外部模块如ESB24-A的连接,确保数据传输畅通。 - 监控启动:观察SGSN启动过程,及时发现和解决可能出现的问题。 - MML会话和软件版本检查:通过MML(Mobile Management Language)与设备交互,...

    Java专业术语标准化规范表.doc

    22. **DBMS(Database Management System)** - 数据库管理系统,用于创建、维护和管理数据库的软件系统。 23. **DDL(Data Definition Language)** - 数据定义语言,用于创建和修改数据库结构的SQL命令。 24. **...

    WMS架构-现代仓储物流中心架构设计

    7. **接口集成**:与TMS(Transportation Management System,运输管理系统)和TWMS(Terminal Yard Management System,码头/堆场管理系统)等其他系统无缝对接,实现整个物流链的协同作业。 ### 二、基础设置 ...

    《国家重点支持的高新技术领域》.docx

    3. **ESB (Enterprise Service Bus)**:ESB是企业级服务总线,是企业应用集成的核心组件,用于连接不同系统和应用程序,实现数据和服务的共享。 4. **Web Services / SOA (Service-Oriented Architecture)**:Web...

    某公司的JAVA笔试题

    - **PDM (Product Data Management)**: 产品数据管理,用于管理与产品相关的信息,如设计文档、CAD 文件等。 - **ESB (Enterprise Service Bus)**: 企业服务总线,一种软件架构模式,用于支持服务之间基于消息的通信...

    XX地区智慧医疗解决方案.pdf

    标准化的医疗信息模型是mini-CHAS的基础,它确保了不同医疗应用系统(如HIS - Hospital Information System, LIS - Laboratory Information System, RIS/PACS - Radiology Information System/ Picture Archiving ...

    Complete Guide to Open Source Big Data Stack

    The book concentrates on Apache-based systems and shares detailed examples of cloud storage, release management, resource management, processing, queuing, frameworks, data visualization, and more. ...

    电力系统通信调度值班自动化技术研究.pdf

    在电力系统通信调度中,ESB用于汇总来自TMS(Transmission Management System)、电量报表系统、MIS(Management Information System)和调度报表系统等多个业务管理系统的数据,生成详细的日志和交接班记录。...

    SAP Netweaver开发指导

    在NetWeaver环境中,变更管理是通过Transport Management System进行的,确保代码从开发环境安全地迁移到生产环境。此外,连续交付和部署可以通过SAP Landscape Transformation (SLT)和Change and Transport System ...

    java专业术语.pdf

    15. Database Management System(DBMS):数据库管理系统,是用于创建、管理和操作数据库的软件系统。 16. Data Definition Language(DDL):数据定义语言,用于定义或修改数据库结构。 17. Data Manipulation ...

    30种java技术框架

    以上就是关于30种Java技术框架及其架构的相关知识点介绍。这些框架和技术在各自的领域内都有着广泛的应用和重要的作用。对于开发者而言,了解并掌握这些技术可以帮助他们更好地应对实际工作中的挑战。

    基于大数据的发电集团数据体系规划与设计.pdf

    此外,文档中还提到了几个关键词,比如“Big Data”(大数据)、“Data System”(数据体系)、“Data Warehouse”(数据仓库)、“Data Management”(数据管理)以及“Power Generation Group”(发电集团)。...

    电信运营商关键技术需求趋势研判概述.doc

    例如,中国移动在CRM(Customer Relationship Management,客户关系管理)和BOSS(Business Operation Support System,业务运营支撑系统)方面,利用SOA实现系统解耦,标准化服务接口,增强了系统间的流程服务调用...

Global site tag (gtag.js) - Google Analytics