写点什么

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:002056

评论

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

【华为云MySQL技术专栏】MySQL分区裁剪,提升分区表查询性能

华为云开发者联盟

:MySQL 数据库 ,华为云

开源大数据平台建设经典案例合集

阿里云大数据AI技术

人工智能 数据库 大数据 数据分析 数据处理

A10 vThunder 5.2.1-P12 LTS - 虚拟化应用交付控制器 (ADC)

sysin

A10

AI赋能时尚零售供应链智能决策:四大核心价值重构竞争力

第七在线

A10 Thunder 5.2.1-P12 LTS - 应用交付与负载均衡

sysin

A10

原来鼠标的这个侧边键还能这样用!

程序员郭顺发

VMware Tools 12.5.2 下载 - 客户机操作系统无缝交互必备组件

sysin

vmware

SEO与渲染方式

溪抱鱼

JavaScript typescript

CSS 内容溢出怎么处理?

秃头小帅oi

Arcadis在最新的国际建筑成本报告中表示,日内瓦重新夺回了世界上最昂贵的城市的称号

财见

Arthas perfcounter(查看当前 JVM 的 Perf Counter 信息)

刘大猫

JVM 监控 Arthas 监控工具 perfcounter

中国版Cursor:基于CodeBuddy与EdgeOne Pages的在线键盘测试工具开发方案

穿过生命散发芬芳

MCP CodeBuddy CodeBuddy首席试玩官

Web前端入门:CSS 内容溢出怎么处理?

电子尖叫食人鱼

CSS 前端 Web

A10 ACOS 5 - 专为现代应用程序设计的开放式云就绪操作系统

sysin

A10

鸿蒙HarmonyOS开发:零基础也能成为开发者

Lethehong

鸿蒙 HarmonyOS HarmonyOS NEXT DeepSeek v3 实践分享

项目管理协作工具:Teambition VS Leangoo

axe

Teambition leangoo 项目管理协作工具

城市巡回丨2025 Altair区域技术交流会华北站,精彩日程出炉!

Altair RapidMiner

人工智能 AI 汽车 数字孪生 CAE

行业首创!快手开源短视频内容质量评测标准KuaiMod!

快手技术

扎克伯格:AR 眼镜会是未来的手机,VR 则是未来的电视;Manus AI 融资 7500 万美元,开放免费使用丨日报

RTE开发者社区

C#多线程编程精要:从用户线程到线程池的效能进化论

不在线第一只蜗牛

C#

5月15日Jim老师RSG在线话题分享:硬件敏捷开发实践

ShineScrum

Scrum 敏捷 RSG

RocketMQ原理—消息读写的性能优化

量贩潮汐·WholesaleTide

RocketMQ

郎酒入选"2025外国人喜爱的中国品牌"

财见

比特币交易接近 104000 美元,分析师称「再创新高并非不可能」

PowerVerse

比特币 加密货币 分析

50系与40系显卡差别:ToDesk云电脑登顶?顺网云/海马云/青椒云差距多大?

Yan-英杰

AI 云电脑

Rust多线程中安全的使用变量

量贩潮汐·WholesaleTide

rust 后端

浅谈低代码开发中的元数据框架

inBuilder低代码平台

RabbitMQ高级使用

不在线第一只蜗牛

Java Rabbit MQ

YashanDB 知识库|JDBC 查 st_geometry 报内存分配失败?一行授权搞定!

数据库砖家

数据库

Voice Agent Camp 招募:GPT-4o 一周年,我们决定发起一个创业营丨超音速计划 2025

RTE开发者社区

HyperWorks卫星惯性释放分析(OptiStruct)

智造软件

仿真 Hypermesh hyperworks

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