写点什么

Jonas Boner 谈 Events 将如何重塑现代系统

  • 2017-11-16
  • 本文字数:898 字

    阅读完需:约 3 分钟

Lightbend 的创始人兼首席技术官 Jonas Boner 在最近的 Reactive Summit 2017 会议上做了主题发言,谈到了事件驱动型服务(event driven services)、以及事件驱动架构(EDA)和事件流处理(ESP)技术将会给基于分布式系统的现代应用程序的设计带来哪些帮助。

Boner 的演讲一开始以 Tuxedo Terracotta 和多阶段的事件驱动构架 ( SEDA ) 为例,讲述了事件驱动系统历史演变的相关背景。了解事件驱动的本质很重要,因为事件代表着事实。

事件给了系统服务自主性,并帮助系统降低了风险。它们还降低了系统的耦合性(loose coupling),增加了系统的可伸缩性、弹性和可追溯性。事件驱动的服务基本上反转了系统中的控制流程,这有助于系统最小化耦合和增加自主性。事件驱动的解决方案更关注于系统的行为而不是系统的结构。

他建议开发人员不要只关注系统中的“领域对象”(Domain Objects),而应关注事件(Events)。他谈到了 Mark Burgess 提出的 Promise Theory ,并通过利用 promise 来使用事件加以界定 Bounded Context(跨边界上下文)。

Boner 还表示,事件使我们能够管理时间,并引用了 Greg Young 的话:

建模事件迫使我们暂时关注系统中正在发生的事情。时间成为系统的关键因素。

事件记录(Event Logging )允许我们通过将事件视为时间快照(snapshot),并且将事件日志作为我们的完整历史记录来建立时间微缩模型。通过重播用于调试、审计和跟踪的历史日志事件,我们就可以恢复到不同时间段的系统状态。这样的话,发生系统故障和进行数据复制时,我们就可以重现当时的状况。

Boner 讨论了事件驱动架构的以下模式:

  • Event Loop
  • Event Stream
  • Event Sourcing
  • CQRS for temporal decoupling (用于临时解耦的 CQRS)
  • Event Stream Processing(事件流处理)

Apache Flink Spark Streaming Kafka Streams Apache Gearpump Apache Beam 这样的事件流处理技术可以用来实现这些设计模式。

查看英文原文 Jonas Boner on How Events Are Reshaping Modern Systems


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-11-16 18:001867

评论

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

“复制黏贴”就能打通企微群机器人,包学包会

明道云

web前端培训如何定位 MySQL 中DDL 被阻塞

@零度

MySQL 前端开发

一图看懂:融云视频会议四大“护法”,让云端开会不再“裸奔”

融云 RongCloud

〖Docker指南⑨〗本地一键部署微服务项目到阿里云服务器

步尔斯特

Docker

Wallys/Network_Card/DR9074-2.4G-PN01.1-Wifi-6-Qualcomm-QCN9074

wallys-wifi6

wifi6 m.2 802.11AX QCN9074

什么是DevOps?为大家都在用DevOps

阿里云云效

云计算 阿里云 DevOps 云原生 研发

〖Docker指南②〗Docker常用命令汇总

步尔斯特

Docker

〖Docker指南⑤〗学习Dockerfile,看这一篇就够了

步尔斯特

Docker

〖Docker指南⑧〗Docker私有镜像仓库|阿里云|Registry|Harbor

步尔斯特

Docker

从云服务器 SSRF 漏洞到接管你的阿里云控制台

火线安全

云安全

得物技术埋点自动化验证的探索和最佳实践

得物技术

自动化 重构 稳定性 电商 埋点

Linux命令汇总 | vim | shell | 进阶【2022版】

步尔斯特

云原生

2022年中国现制柠檬茶市场发展洞察

易观分析

茶饮市场

助力工业化设计,提升变电站三维设计效率和业务保障

焱融科技

gpu 存储 数字化 三维设计 工业化设计

《云原生的本手、妙手和俗手》——2022全国新高考I卷作文

步尔斯特

云原生

〖Docker指南①〗快速入门|安装|加速|hello-world

步尔斯特

Docker

〖Docker指南⑦〗docker-compose快速入门

步尔斯特

Docker

什么是基于安全标记的访问控制机制?有什么特性?

行云管家

网络安全 等级保护 安全标志 访问控制机制

web技术分享| 基于vue3实现自己的组件库,第一章:Message组件

anyRTC开发者

前端 Web 音视频 Vue3 message

以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

字节跳动数据平台

Apache 大数据 字节跳动 性能优化 数据目录

〖Docker指南③〗Docker镜像的深度解析

步尔斯特

TDengine 离线升级流程

TDengine

数据库 tdengine

〖Docker指南④〗docker容器卷

步尔斯特

Docker

哈尔滨等保测评公司有哪几家?叫什么名字?

行云管家

网络安全 等保 等保测评 等级测评 哈尔滨

〖Docker指南⑩〗轻量级监控及管理工具Portainer

步尔斯特

Docker

明道云入围“2022年中国低/零代码行业影响力TOP15”

明道云

基于QUIC协议的HTTP/3正式发布!

JackJiang

网络编程 QUIC http3

我是一个Dubbo数据包...

捉虫大师

dubbo 6月月更 InfoQ极客传媒15周年庆

学生管理系统架构设计文档

泋清

#架构训练营

InfoQ 极客传媒 15 周年庆征文|什么是云原生,云原生技术为什么这么火?

步尔斯特

云原生 热门活动 InfoQ极客传媒15周年庆

〖Docker指南⑥〗快速入门Docker的五种网络模式

步尔斯特

Docker

Jonas Boner谈Events将如何重塑现代系统_语言 & 开发_Srini Penchikala_InfoQ精选文章