写点什么

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:001805
用户头像

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

关注

评论

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

ERP 实施,甲方公司前期应该准备什么?

SAP虾客

centos安装python3/pip3项目所需的第三方模块(在线安装&&离线安装)

A-刘晨阳

Linux 运维 Python3 11月月更 pip3

PCB layout有DRC,为什么还要用CAM和DFM检查?

华秋PCB

PCB PCB设计 PCB工具

ERP系统能给企业带来的那些好处

SAP虾客

学会二阶思维,你就能像巴菲特一样思考了

华为云开发者联盟

软件开发 开发 华为云 二阶思维

算法基础:区间合并算法及模板应用

timerring

11月月更 区间合并 算法学习

聊聊Mybatis的数据源之PooledDataSource

急需上岸的小谢

11月月更

炎凰数据完成超亿元 A1 和 A1+ 轮融资,推出异构数据即时分析平台

晨山资本

大数据 大数据处理 大数据分析

室内高清led电子显示屏的定义

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

react源码中的生命周期和事件系统

flyzz177

React

主流BI软件,哪一个软件使用效果更好?

夏日星河

那些适用于跨境电商的ERP系统

SAP虾客

Karmada跨集群优雅故障迁移特性解析

华为云开发者联盟

云原生 后端 华为云

高并发下丢失更新的解决方案

京东科技开发者

幻读 脏读 不可重复读 更新丢失

开源共建 | 中国移动冯江涛:ChunJun(原FlinkX)在数据入湖中的应用

袋鼠云数栈

flink 开源

【Linux】之【CPU】相关的命令及解析[lscpu、mpstat]

A-刘晨阳

Linux 运维 cpu 命令 11月月更

与时俱进「风险系统保障质量之路」非同寻常

京东科技开发者

自动化 风险识别 风险控制 预警监控 风险系统

聊聊Mybatis的数据源之工厂模式

急需上岸的小谢

11月月更

百度架构师手写万字Spring Security实战笔记,一篇就搞懂

小小怪下士

Java spring springsecurity

react源码分析:babel如何解析jsx

flyzz177

React

安卓??传奇!!探寻世界最大操作系统的崛起之路

博文视点Broadview

桌面端软件的开发框架如何选型

Onegun

macos windows 桌面端 桌面应用

Centos7安装Mysql5.7(超详细版)

A-刘晨阳

MySQL Linux 运维 11月月更

云小课|云小课带您快速了解LTS可视化查看

华为云开发者联盟

云计算 后端 华为云

自动驾驶的「数据引擎」,该如何“降本”、“增效”和“精准化”?

澳鹏Appen

人工智能 自动驾驶 无人驾驶 智能驾驶 数据标注

你可见过如此细致的延时任务详解

骑牛上青山

Java redis kafka 延时队列

SAP ERP系统里的那些核心主数据

SAP虾客

混合开发Hybrid App的优劣

Onegun

ios 混合应用开发 移动端 andiod 混合开发

5种典型 API 攻击及预防建议

SEAL安全

API API安全

大数据分析如何进行?瓴羊Quick BI成为了很重要的工具

小偏执o

动手实践丨基于ModelAtrs使用A2C算法制作登月器着陆小游戏

华为云开发者联盟

人工智能 华为云 A2C算法

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