写点什么

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

评论

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

实战中学习浏览器工作原理 — HTML 解析与 CSS 计算

三钻

CSS 大前端 浏览器

Servlet 知识点

陈靓-哲露

简直人生外挂,直接涨薪20K,跪谢这份性能调优实战指南

小Q

Java MySQL 架构 JVM 性能调优

非传统的“易观”,和他的技术驱动之路

易观大数据

第一周学习架构方法总结

三板斧

谈谈力软快速开发平台B/S专业报表工具

Learun

小程序 敏捷开发 开发者工具 报表

抓住这些BUG程序员进大厂也就这回事,工作后2到3年进大厂操作指南

Java架构师迁哥

程序员写个人技术博客的价值与意义

Java架构师迁哥

[Go] 设置各种选项的最佳套路

eddix

设计模式 Go 语言

Vue-防止重复点击指令

老菜鸟

Vue 指令

加速连接效率 阿里云推出5G消息使能平台MEP

阿里云Edge Plus

食堂就餐卡系统设计

熊桂平

系统设计 极客大学架构师训练营 UML

整合Micrometer与Prometheus & ElasticSearch

李欢颜

大咖布道丨证券行业规模化敏捷和核心能力演进

华为云开发者联盟

产品 证券 大咖

UML图

饺子

食堂就餐卡系统设计

一个节点

极客大学架构师训练营

Vitalik Buterin: 协作的好坏两面

安比实验室SECBIT

区块链 博弈论 协作

第一周学习总结

饺子

第一周作业

Geek_4c1353

极客大学架构师训练营

架构方法周总结第一周作业「架构师训练营第 1 期」

天天向善

学习

阿里云发布边缘计算视频上云解决方案 为海量视图处理提供城市级云基础设施

阿里云Edge Plus

边缘计算

非暴力拆解:小熊派NB-IoT通信扩展板

华为云开发者联盟

IoT 通信 芯片

架构师训练营01周 -- 命题作业

骏马

极客大学架构师训练营

多方计算——打开区块链应用新场景

CECBC

区块链 大数据

架构师技术栈

elfkingw

领域模型的定义

Braisdom

Java 领域驱动设计 ObjectiveSql

食堂就餐卡系统UML设计 - 架构师训练营第1周作业

netspecial

极客大学架构师训练营

云图说 | 通过Helm模板快速部署中间件应用

华为云开发者联盟

容器 k8s

就餐卡系统第一周作业「架构师训练营第 1 期」

天天向善

学习

聚焦2020云栖大会 边缘计算专场畅谈技术应用创新

阿里云Edge Plus

云栖大会CDN技术专场:如何构建企业级内容分发加速体验?

阿里云Edge Plus

CDN

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