2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Reilly 软件架构大会上的事件驱动微服务主题

  • 2018-03-13
  • 本文字数:1314 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

据 Joab Jackson 报道,今年在纽约举行的 OReilly 软件架构大会设置了事件驱动微服务主题。据 Joab 介绍,Chris Richardson 以“外部事件、内部事件与核心事件”为题作了主题演讲

他说,目前,甚至是企业系统都是由事件驱动的。航空公司航班延误,药房按处方抓药。交付按计划进行。有些事件是基于时间的:未按时付款。时间让独立的应用程序可以协作:实际上,应用程序云中的任何状态变化都是一个事件,都可以供另一个应用程序消费。监控服务可以分析另一个应用程序发出的事件流,通过检查来确保事件模式正常。Richardson 解释说,事件驱动设计是一种不修改应用程序而实现应用程序扩展的方法。

我们之前报道过事件驱动微服务,例如, Marius Bogoevici 介绍云原生流和事件驱动微服务, Satyajit Ranjeev 回顾事件驱动微服务实践。人们似乎普遍认为,事件驱动的架构代表着微服务下一步的发展方向,但确实也会让复杂度更上一层楼。据 Joab 报道:

Cornelia Davis 是 Pivotal 高级技术主管,同时也是即将出版的新书《 Cloud Native 》的作者。她在主题演讲中指出,虽然向基于事件的架构迁移乍听上去很简单,但无疑需要架构理念的转变。Davis 说,根据其自身的性质,微服务是分布式计算的一种极端形式。

几年前,Christian Posta 写到了一些优缺点,最近,他在我们的虚拟研讨会上针对这个主题表达了如下观点:

我认为,当你像我们说的那样使用微服务扩展系统时,它们往往会展现出我们在其他复杂自适应系统(股市、蚁群、社区)中看到的特点,也就是说:自治代理、独立决策、基于反馈的学习 / 适应、非线性交互,等等。在类似那样的系统中,事件、消息传递和时间都是关键的促动因素,这些因素看上去往往像“异步”模型。在我看来,让时间成为这些系统的汇点(而且我们的通信通道可能不可靠)将迫使我们直面现实,选择一个我们知道在其他应用程序中可以缩放的模型。

Davis 提到了异步分布式系统,她指出,在传统 RPC 系统中适用的超时和重试可能并不是正确的抽象模型:

在本来就不可靠的分布式系统环境里, promises 抽象模型可能比重试更合适。各种组件都会产生自己的事件,通过一个序列化事件流或者变更流输入到 Web 服务器的物化视图中。Davis 说,“你可以把 promises 视为一个事件处理器”。她说,一个事件处理器可以在“需要的时候”完成一个步骤。

顺便说一下,对异步系统固有的某些问题感兴趣的读者可以读下 Fischer、Lynch 和 Paterson 的论文“Impossibility of Distributed Consensus with One Faulty Process”。

显然,当前关注的函数即服务在这点上也有重合。正如我们之前的报道,这些架构从根本上说是事件驱动的,也可以视为微服务构建的自然演进。事实上,据 Joab 报道,Davis 对这个问题是这样说的:

“事件可以触发函数,这是实现函数即服务的一个非常自然的方式。”

总之,我们看上去确实在进入一个以事件驱动微服务作为首选架构方法的时代。我们期望可以看到更多的会议和研讨会。而我们将报道最佳实践、最佳框架和技术栈以及成功 / 失败的例子。

查看英文原文 Event-driven microservices at OReilly Software Architecture Conference

2018-03-13 19:001816
用户头像

发布了 1008 篇内容, 共 440.9 次阅读, 收获喜欢 346 次。

关注

评论

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

flutter系列之:按比例缩放的AspectRatio和FractionallySizedBox

程序那些事

flutter 程序那些事 6月月更

Java—JVM II

武师叔

6月月更

JavaScript基础语法知识遨游记

未见花闻

6月月更

【LeetCode】乘积小于 K 的子数组Java题解

Albert

LeetCode 6月月更

学生管理系统的考试试卷存储方案

爱晒太阳的大白

SDN系统方法 | 7. 叶棘网络

俞凡

架构 网络 sdn SDN系统方法

颠覆Web2 社交媒体,Liberty 计划在波卡上找到了归宿

One Block Community

区块链 科技

使用统计数据消除生活中的无谓

宇宙之一粟

贝叶斯公式 6月月更

Vue-13-Vif和Vshow的区别

Python研究所

6月月更

走近分布式缓存Memcached

No Silver Bullet

memcached 分布式缓存 6月月更

彻底搞懂 select/poll/epoll,就这篇了!

C++后台开发

网络编程 linux开发 epoll select C++开发

FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup

声网

语音识别 RTC Dev Meetup

统一返回结果

卢卡多多

返回值 6月月更

力扣每日一练之数组上篇Day1

京与旧铺

6月月更

HashSet与WeakHashMap的理解

源字节1号

GNU/Linux知识库(1)- 历史和演变

冯亮

Linux DevOps GNU

【愚公系列】2022年06月 通用职责分配原则(六)-多态原则

愚公搬代码

6月月更

NodeJS 读写文件 🎠

德育处主任

node.js 6月月更

什么是 IPv6?IPv6有哪些优势?

wljslmz

ipv6 IP地址 网络技术 6月月更

稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注

Geek_1ef48b

市场冷空气来袭,SeekTiger如何逆流而上?

鳄鱼视界

数据库每日一题---第16天:计算特殊奖金

知心宝贝

数据库 云计算 前端 后端 6月月更

流计算中的死锁

Damon

6月月更

Linux开发_Linux下进程编程

DS小龙哥

6月月更

Docker进阶(一):docker -v目录挂载

No Silver Bullet

Docker 6月月更

Zookeeper入门基础

No Silver Bullet

zookeeper 6月月更

uni-app进阶之模版语法与数据绑定【day7】

恒山其若陋兮

6月月更

vue动态路由

小恺

6月月更

成为架构师需要点亮哪些知识树

奔向架构师

数据仓库 架构师 6月月更

模拟红绿灯来看GetX的定向刷新

岛上码农

flutter ios 前端 安卓 6月月更

开源Star10K+数据库工具Beekeeper上手体验,免费够酷值得拥有!

MegaQi

数据库管理工具 6月月更 #开源项目体验

Reilly软件架构大会上的事件驱动微服务主题_DevOps & 平台工程_Mark Little_InfoQ精选文章