写点什么

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

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

关注

评论

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

国产CPU产业链的逻辑架构

Finovy Cloud

gpu 云服务器

AI简报-视频超分BasicVSR

AIWeker

人工智能 深度学习 视频超分 5月月更 AI简报

Python:什么是callable?

Ken

Python Callable

玩转集群配置中心,一文带你了解 Taier 控制台

袋鼠云数栈

王莉:将开发文档英文化和本地化,我们努力让OpenHarmony走向全球

OpenHarmony开发者

开发文档 OpenHarmony OpenHarmony 3.1 Release

阿里云首家通过《可信云·云成本优化工具能力要求》评估,云原生企业 IT 成本治理方案助力企业 FinOps 落地

阿里巴巴云原生

阿里云 云原生 工具

从“预见”到“遇见” | SAE 引领应用步入 Serverless 全托管新时代

阿里巴巴云原生

阿里云 Serverless 云原生 SAE

【直播预告】如何写好技术文章?开源技术写作入门与实践

TiDB 社区干货传送门

leetcode 75. Sort Colors 颜色分类

okokabcd

LeetCode 排序

记一个 Harvester SNAT 案例

Rancher

Kubernetes k8s rancher Harvester

烫烫屯屯锟斤拷��

博文视点Broadview

Wallys/ Network_Card/2x 2 5G /High power Radio card

wallys-wifi6

QCA9882 802.11AX

web前端培训js 私有属性的 6 种实现方式

@零度

web前端开发

大数据培训数仓指标体系搭建

@零度

大数据开发

JVM进阶(十八)——初识Class文件

No Silver Bullet

JVM class文件 5月月更

敏捷实践 | 做优先级排序时使用最多的三个模型

LigaAI

敏捷开发 优先级

存储系统如何适配 Hadoop?

焱融科技

hadoop 存储 文件存储

关于延期举办第六届世界智能大会的通知

InfoQ 天津

签约喜报 | 美秧集签约旺链科技,一物一码防伪溯源驱动品牌新增长

旺链科技

区块链 产业区块链 大米溯源

推荐书籍-《持续行动-从想到到做到》

消失的子弹

书籍推荐

java开发培训任务调度框架Quartz的用法

@零度

JAVA开发

龙蜥社区第八次运营委员会会议顺利召开

OpenAnolis小助手

开源 生态 龙蜥社区 理事单位 运营委员会

盘点使用最广泛的14个最佳Scrum工具(功能与报价)

爱吃小舅的鱼

集成底座内外网访问配置说明

agileai

k8s 集成底座 企业服务总线 身份管理平台 主数据平台

数字化时代,企业知识管理软件怎么选

小炮

企业知识管理

HttpRunner v4.0 正式发布:一文了解 v4.0 的前世、今生与未来

debugtalk

性能测试 HTTP 接口测试 测试工具 开源软件

百问百答第39期:如何区分docker容器中的进程名称?

博睿数据

智能运维 Bonree Server 博睿数据

大咖说*菜鸟|物流行业重大战略机遇期已悄然到来

大咖说

互联网 物流 降本增效 菜鸟 实体经济

IOS技术分享| iOS快速生成开发文档(一)

anyRTC开发者

ios objective-c 音视频 移动开发 appledoc

Wallys/Network_Card/QCA9880/ 2x2 2.4G/5G FCC/CE

wallys-wifi6

802.11AX QCN9880

云原生技术应用情况报告重磅发布

行云创新

云计算 云原生 开发 报告 行业

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