写点什么

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

评论

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

机器学习笔记-概念

superman

华为,与山河共舞这支芭蕾

脑极体

中国消费者独享长达三个月的年终跨境网购狂欢季

爱极客侠

Flink 源码 | 自定义 Format 消费 Maxwell CDC 数据

Apache Flink

flink

甲方日常 21

句子

生活 工作 随笔杂谈 日常

Spring 5 中文解析数据存储篇-DAO支持

青年IT男

Spring5

机器学习如何推进现代医疗护理服务的变革

Geek_b33b8e

学习 开源 跨平台 行业资讯 医疗方案

按自己的逻辑,避免千篇一律的呈现品牌官方商城

boshi

产品设计 页面展示 商城

第二周-框架设计-学习总结

刘希文

Initialization failed for 'https://start.spring.io' Please check URL, network and proxy settings解决办法

Geek_416be1

阿里3轮面试都问了RecyclerView

Geek_211aa0

android 面试 阿里 移动开发 RecyclerView

第13周作业

Mac 系统 VS Code 设置向下复制粘贴当前行快捷键(Ctrl + D)

AlwaysBeta

ide vscode Mac

学习笔记-人工智能概念(小白)

superman

01_Eureka源码初探

阿亮

源码 微服务 SpringCloud Eureka

提高网站的吞吐量

架构师修行之路

【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?

冰河

MySQL 高可用 主从复制

有感-人工智能学习

superman

“工业互联网+区块链”融合发展新图景

CECBC

区块链 互联网 信息安全

架构师训练营第 1 期第 2 周学习总结

好吃不贵

极客大学架构师训练营

腾讯看点基于 Flink 的实时数仓及多维实时数据分析实践

Apache Flink

flink

Java8 之 Lambda 表达式

hepingfly【gzh:和平本记】

Lambda java8 新特性

Apache Pulsar 社区周报|09-12~09-18

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

为什么选择敏捷软件开发-考虑敏捷开发的主要优势

小隐乐乐

敏捷开发

week13--课后总结

Geek_165f3d

区块链行业简报

CECBC

区块链 金融 银行

架构师训练营第 1 期第 2 周作业

好吃不贵

极客大学架构师训练营

磨刀不误砍柴工,搞定云网络系统性能测试

lklmyy

IaaS 云网络 质量保障

北京自贸区总体方案公布:建设法定数字货币试验区

CECBC

金融 国内宏观

你觉得Android又凉了?那带你看下2020年Android开发的前景如何?

Geek_211aa0

android 程序员 中年危机 移动开发 前景

week13---课后作业

Geek_165f3d

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