【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

利用事件简化系统架构

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

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

关注

评论

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

用git上传项目到GitHub或者码云全过程

肥晨

代码上传 githun 11月月更 Git上传

11月必须要了解的一项福利

夏夜许游

AI 双十一 视觉智能

Ten Million-Level Capacity Storage Solution of Student Management System - Examination

David

架构实战营

【设计模式】-创建型模式-第2章第1讲-【单例模式】

跟着飞哥学编程

设计模式 单例模式 java 编程 11月月更

移动开发热更新技术选型盘点

Onegun

移动开发 热更新

你要的react+ts最佳实践指南

xiaofeng

React

webpack配置优化,让你的构建速度飞起

Geek_02d948

webpack

几个你必须知道的React错误实践

xiaofeng

React

【解决】前端开发中的5大痛点

GFE

前端

vue3实战-完全掌握ref、reactive

yyds2026

一路同行,再聚乌镇 | 旺链科技与你相约世界互联网大会

旺链科技

产业区块链 世界互联网大会 乌镇 企业号十月PK榜

科普 | 关于NFT的概念、价值及应用

NFT Research

webpack热更新原理(面试大概率会问)

Geek_02d948

webpack

升级到React-Router-v6

xiaofeng

React

前台小姐姐是如何转行测试,从月薪3000到月薪15K,实现逆袭

千锋IT教育

从事分布式工作10余年,这本书颠覆了我的认知!

博文视点Broadview

开源!非凸Rust高性能日志库ftlog

非凸科技

Sanitizers 系列之 leak sanitizer 介绍

网易云信

系统

Python 实现栈的几种方式及其优劣

宇宙之一粟

Python 数据结构 11月月更

vue实战-完全掌握Vue自定义指令

yyds2026

Vue

vue中的几个高级概念

yyds2026

Vue

“鸿蒙生态专家面对面”技术交流会,专家齐聚,等你前来!

HarmonyOS开发者

HarmonyOS

测试小白到月薪30K+的测试大佬学习路线图

千锋IT教育

如何更改 datax 以支持hive 的 DECIMAL 数据类型?

明哥的IT随笔

hadoop hive

指南

Geek_02d948

webpack

CSS3渐变-快来感受CSS的伟大吧(差点闪瞎我的狗眼)

肥晨

11月月更 css3渐变 conic-gradient

即时通讯技术文集(第4期):不为人知的网络编程 [共14篇]

JackJiang

Backdrop Filter

肥晨

css3 css特效 11月月更 css滤镜

pyside6 qml 自定义边框

Mr_No爱学习

Zepoch节点已售出500+,Zebec Chain市场反响激烈

鳄鱼视界

【网易云信】Sanitizers 系列之 leak sanitizer 介绍

网易智企

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