大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

利用事件简化系统架构

  • 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:544320
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

2021Java高级面试题总结!Java数组添加另一个数组

Java 程序员 面试 后端

2021年您应该知道的技术之一!Javafor循环乘法表

策划Java工程师

Java 程序员 面试 后端

2021春招BAT面试真题详解,mysqlloaddata自增id

策划Java工程师

Java 程序员 面试 后端

2021春招BAT面试真题详解,从单体式架构迁移到微服务架构

策划Java工程师

Java 程序员 面试 后端

操作系统--虚拟内存

en

Drools 入门

LeifChen

drools 规则引擎 8月日更 业务规则

2021年Java面试心得:Java基本类型对应的包装类型

策划Java工程师

Java 程序员 面试 后端

Java磁盘文件IO

文件I/O

Fil行情:什么时候投资fil合适?

区块链 分布式存储 IPFS fil fil行情

程序员专属的搜索主页

程序员阿杜

搜索技巧 搜索引擎;

2021京东Java面试真题:Java枚举的作用与好处

Java 程序员 面试 后端

2021年Java面试心得:Java开发工程师试用期一般多久

策划Java工程师

Java 程序员 面试 后端

2021年“金三银四”来袭!Java开发接口利用http协议

策划Java工程师

Java 程序员 面试 后端

redis,memcached,nginx网络组件

赖猫

nginx redis memcached 网络组件

体验设计工具:18格窗口

石云升

用户体验 7月日更 体验设计

2021Java面试总结!Java中VO的使用

Java 程序员 面试 后端

【翻译】数据包的旅程 - 关键角色

luojiahu

交换机 路由器 OSI模型 ARP协议

阿里面试官把以往的Java面试题全部总结在这份《Java10W字面试复盘笔记》里面了

Java 程序员 架构 面试 计算机

牛客网爆火!面试命中率高达 90% 的阿里 10W 字面试笔记已被疯传

Java 程序员 架构 面试 计算机

Text classification with TensorFlow Hub: Movie reviews

毛显新

tensorflow

2021Java高级面试题总结:docker运行jar包依赖和程序分开

程序员 面试 后端

2021年Java开发实战!Java获取系统日期时间

Java 程序员 面试 后端

2021年Java面经分享:mysql创建数据表

策划Java工程师

Java 程序员 面试 后端

2021年您应该知道的技术之一!Java工程师一天工作多久

策划Java工程师

Java 程序员 面试 后端

2021春招面试,mysql自增主键最大值

策划Java工程师

Java 程序员 面试 后端

Tensorflow日常随笔(一)

毛显新

tensorflow

程序员有哪些不可或缺的效率神器?

Jackpop

开发

2021Java高级面试题!Java面试问题大全及答案大全下载

Java 程序员 面试 后端

2021吊打面试官系列!mysql数据库版本最新

Java 程序员 面试 后端

2021年Java面试心得:西安Java电商开发招聘

策划Java工程师

Java 程序员 面试 后端

揭开进程的概念、状态、通信的迷雾。看完瞬间豁然开朗

Linux服务器开发

线程 网络编程 Linux服务器开发 Linux后台开发 进程管理

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