报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

利用事件简化系统架构

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

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

关注

评论

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

NLP 论文领读|改善意图识别的语义表示:有监督预训练中的各向同性正则化方法

澜舟孟子开源社区

人工智能 自然语言处理 深度学习 预训练模型

观测云更新|观测云帮助文档全新上线;新增 Profile 可观测新增 Profile 可观测;新增 Deployment 网络详情及网络分布等

观测云

深入理解和把握数字经济的基本特征

CECBC

Go语言Redis API基本功能实践

FunTester

泛型的类型擦除后,fastjson反序列化时如何还原?

码农参上

泛型 底层知识 Java 开发

如何实现一套容器(C语言版)1

祖维

c 容器 泛型 迭代器

2023年广州美博会时间地点详情

Geek_0b38bb

美博会 2023年广州美博会 春季广州美博会 广州春季美博会

你了解shiro吗?手把手教你集成shiro

阿Q说代码

springboot 鉴权 shiro 身份验证

20省市公布元宇宙路线图

CECBC

SaaS 云工具,产业互联网下的变革利器

小炮

Gartner:如何在中国成功应用多云模式

BeeWorks

盘点四种WiFi加密标准:WEP、WPA、WPA2、WPA3

wljslmz

wifi 6月月更 无线安全 wpa3 wep

解读2022年度敏捷教练行业现状报告

华为云开发者联盟

后端 开发 华为云

基于 ShardingSphere 的得物数据库中间件平台“彩虹桥”演进之路

SphereEx

数据库 中间件 ShardingSphere 实践

力扣每日一练之字符串Day6

京与旧铺

6月月更

SAVE: 软件分析验证和测试平台

华为云开发者联盟

云计算 测试 后端 开发 软件分析

零信任安全模型-下一代网络安全架构

领创集团Advance Intelligence Group

架构 网络安全 零信任

数字经济时代文化消费新特征

CECBC

JDK动态代理为什么必须要基于接口?

码农参上

JAVA开发 动态代理 底层知识

FastApi+Vue+LayUI实现前后端分离

Python研究所

6月月更

理论+案例,带你掌握Angular依赖注入模式的应用

华为云开发者联盟

程序员 前端 华为云

如何利用数仓创建时序表

华为云开发者联盟

数据库 后端 华为云 时序表

基于微信小程序的婚纱影楼小程序开发笔记

CC同学

小程序

Java基础:集合框架之Map

百思不得小赵

map Java’ 6月月更

港股多支个股表现活跃,引发投资者对港股市场回暖猜想与关注

E科讯

vue快速学习、基础用法

开发微hkkf5566

JDBC 在性能测试中的应用

阿里巴巴云原生

阿里云 云原生 JDBC 压测

中国移动应用出海发展天地宽

BeeWorks

ElasticSearch第二弹之分片原理

阿Q说代码

ES shard replica

区块链为化解信任危机带来新契机

CECBC

墨天轮访谈 | IvorySQL王志斌—IvorySQL,一个基于PostgreSQL的兼容Oracle的开源数据库

墨天轮

数据库 oracle postgresql 开源

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