利用事件简化系统架构作者

日期: 2013-05-12 来源:TechTarget中国 英文

  在小型业务组件之间使用事件进行交互可以简化系统架构,上周Russ Miles在探讨“通过事件简化架构(Architectural Simplicity through Events)”时谈到了这一点。

  简洁真的非常重要,Barbara Liskov在QCon London 2013的主题演讲中这样说。资深顾问Russ Miles对此深表赞同。他的经验是,团队的开发速度经常因所编写代码体积和复杂性的增长而放缓。他认为简化架构是帮助团队保持开发势头并加快开发过程的最佳方式。

  对Russ而言,组件结构在简化架构方面非常重要。将组件放置在传统的分层模型中往往会把事情弄得一团糟。因此他创建了Life-Preserver模型(形成了一个环),所有的基础设施软件都在环上处理集成,而核心业务组件在环内加入业务价值。他指出该模式与Alistair Cockburn创建的六边形架构(Hexagonal Architecture)风格非常相似。

  事件

  下一步是定义组件如何彼此合作。因为我们很可能并不是一开始就知道所有交互,因此可以通过发送事件保持系统的灵活性。组件要遵守的唯一契约是事件的接收与广播,这为我们带来了一个标准的事件驱动架构,不过该架构是组件级的。

  管道与过滤器

  再进一步,Russ几乎将组件缩减成了函数,从强类型事件变为简单的数据,比如,以文档或XML的形式,使核心通信方式与集成组件和外部事件之间的通信方式相同。这一步使架构变为了在小型组件之间分享不可变数据,而每个组件就是负责对数据做某种处理并返回数据,这就是管道与过滤器模式,不过是在系统架构内部而已。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • EDA和SOA:孤掌难鸣

    速度和复杂度在哪里构成问题,“引擎如何工作”可能就是兴趣点所在。大多数CEP引擎极大地超过了一般用途的服务器。

  • 复杂事件处理CEP手册

    在金融服务和其他行业中,如何使那些重要且具有战略意义的业务信息以高速数据流的方式到达企业变得尤其重要,而复杂事件处理(CEP)就是这一过程的代名词。在复杂事件处理中,数据是不断变化的,而“操作”是“静态”的。复杂事件处理具备了分析高速数据流并鉴别重要事件的能力,虽然对这些事件的鉴别过程是复杂的,但结果却是无价的。复杂事件处理能够帮助企业及时全面地洞察市场变化,降低风险和提高决策效率。下面我们就来介绍一下复杂事件处理。

  • 观点:复杂事件处理仍在摸索市场

    我们在哪些地方用到复杂事件处理(CEP)?在Colin Clark(云事件处理CTO)最近的博文中,提到市场在分析师和厂商近年来的允诺中,仍在努力实现这种数十亿美元的潜力。

  • EDA和SOA的融合以及实践

    因为SOA经常和Web Service相提并论,所以导致大家一直有一个误区,认为这两者是等同的,其实不然。虽然两者有很多的关联,但它们是截然不同的两个概念。