写点什么

利用事件简化系统架构

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

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

关注

评论

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

C++ 动态新闻推送 第36期

很水

c++

四大研究成果入选 百度安全在Black Hat Europe 2021再创历史

百度安全

应用安全 百度安全 Black Hat 漏洞利用 恶意软件

Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索

数据库

Alibaba Druid 源码阅读(四) 数据库连接池中连接获取探索

数据库

模块三-学生管理系统架构设计文档

迪马

C++ 动态新闻推送 第33期

很水

网易云信携手“瑶台”,打造元宇宙商业化实践标杆案例

网易云信

人工智能 虚拟化 虚拟人 元宇宙

当一名科技女性,决定不再做月亮

脑极体

研发提效:通过设计稿自动生成前端代码。

石云升

大前端 自动生成 11月日更 研发提效

阿里灵杰产品全面拥抱云原生,双11优惠让企业体会上云便利

阿里云大数据AI技术

大数据 AI 云原生 阿里灵杰

Alibaba Druid 源码阅读(三) 数据库连接池初始化探索

数据库

Alibaba Druid 源码阅读(一) 数据库连接池初步

数据库

区块链之共识算法系列——PoW(二)

Regan Yue

区块链 11月日更 趣讲区块链

C++ 动态新闻推送 第35期

很水

ZGC在合合信息HBase平台中的实践

合合信息大数据团队

大数据 性能优化 ZGC HBase 合合信息

区块链符号理论:符号方案和符号系统

CECBC

【得物技术】得物直播秒开体验提升

得物技术

体验 直播 视频 优化 卡顿

鸿蒙的绿野仙踪

脑极体

Prometheus HTTP API 查询(六)Prometheus Server 状态和 TSDB 状态

耳东@Erdong

Prometheus PromQL HTTP API 11月日更

详解低延时高音质:回声消除与降噪篇

声网

回声消除 音频体验 RTE技术详解

Alibaba Druid 源码阅读(五)数据库连接池 连接关闭探索

数据库

质量基础设施一站式云服务平台搭建,NQI一站式服务平台

电微13828808271

终于有人把“元宇宙”说清楚了

CECBC

互联网大厂考点(阿里+百度+腾讯+字节跳动+美团+京东)

Java高级开发

Java 程序员 架构 面试 大厂

GrowingIO Design 图标库:从原理到实现

GrowingIO技术专栏

SVG 图标库 Sprites Icon Font GrowingIO Design

接口调用的链路

卢卡多多

接口 11月日更

C++ 动态新闻推送 第34期

很水

自定义View:如何实现手动拖动的图片控件

Changing Lin

11月日更

投资元宇宙,如何开启混合现实开发

龙智—DevSecOps解决方案

游戏开发 元宇宙 混合现实

Python代码阅读(第57篇):倒序字符串

Felix

Python 编程 string 阅读代码 Python初学者

12 K8S之应用容器及Pod资源

穿过生命散发芬芳

k8s 11月日更

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