写点什么

利用事件简化系统架构

  • 2013-05-02
  • 本文字数:636 字

    阅读完需:约 2 分钟

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

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

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

事件

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

管道与过滤器

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

查看英文原文: Events bring Simplicity to a System’s Architecture

2013-05-02 08:544364
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 146.3 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

第十三周总结

orchid9

C语言学习你要的都在这里

C语言与CPP编程

c++ 学习 编程 C语言

JVM&秒杀案例

幸福小子

JVM原理

架构师训练营 week13总结

FG佳

极客大学架构师训练营

[架构师训练营第 1 期] 第 13 周命题作业

猫切切切切切

极客大学架构师训练营

架构师训练营第二期 Week 9 作业

bigxiang

极客大学架构师训练营

增强产业链供应链自主可控能力

CECBC

供应链

互操作性如何助推区块链接入互联网基础设施

CECBC

区块链 密码学

南昌“舞动”区块链

CECBC

区块链 基础设施

架构师训练营第 1 期 -- 第十三周作业

发酵的死神

极客大学架构师训练营

【架构师训练营第 1 期 13 周】 学习总结

Bear

极客大学架构师训练营

成为架构师 - 架构师训练营第 08 周

陈永龙Vincent

JVM垃圾回收原理

幸福小子

JVM垃圾回收原理

redis的I/O多路复用

en

redis 多路复用 epoll

第十三周作业

orchid9

架构师训练营第二期 Week 9 总结

bigxiang

极客大学架构师训练营

【架构师训练营第 1 期 13 周】 作业

Bear

极客大学架构师训练营

架构师训练营第2期 第9周总结

月下独酌

极客大学架构师训练营

架构师训练营第九周作业

李日盛

架构

盘点2020 | 我要为分布式数据库mongodb在国内影响力提升及推广做点事

杨亚洲(专注MongoDB及高性能中间件)

数据库 mongodb 盘点2020 分布式数据库mongodb

架构师训练营week13 作业

FG佳

极客大学架构师训练营

架构师训练营 2 期 Week09 作业

架构师训练营第九周笔记

李日盛

周练习 13

何毅曦

week13作业

龙卷风

架构师一期

成为架构师 - 架构师训练营第 07 周

陈永龙Vincent

第十二周作业

wanlinwang

极客大学架构师训练营

训练营第九周作业

大脸猫

极客大学架构师训练营

训练营第九周总结

大脸猫

极客大学架构师训练营

架构师训练营 2 期 Week09 总结

架构师 01 期,第十三周课后作业

子文

利用事件简化系统架构_架构_Jan Stenberg_InfoQ精选文章