HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

柏睿数据作为湖仓一体数据平台代表厂商入选IDC报告

新消费日报

构建网站利器!体验高速稳定的香港云主机服务!

一只扑棱蛾子

云主机 香港云主机

揭秘|来看看袋鼠云数栈内部的资产血缘方案设计与实现

袋鼠云数栈

数据资产 数据血缘

软件测试/测试开发丨Python 面向对象编程思想

测试人

Python 编程 面向对象 软件测试

java面试题-多线程

程序员小张

18款iPad绘画软件推荐!iPad必备生产力工具。

彭宏豪95

ipad 效率工具 苹果 绘图软件 在线绘图

如何看待互联网大厂加班文化?

程序员小毕

程序员 互联网 后端 架构师 java面试

使用 Postman 批量发送请求实用教程

Liam

Java 后端 开发 Postman API

m7s Console架构解析

不卡科技

vite 流媒体 控制台 Vue 3 #go

多种应用场景下的大数据传输解决方案,让企业数据高效同步

镭速

大数据传输

混战源起ChatGPT,中国的AI产业怎么样了? | 社区征文

向阳花

人工智能 AI 马斯克 前沿技术 年中技术盘点

点云标注在自动驾驶中有着广泛的应用案例

来自四九城儿

成都站|阿里云 Serverless 技术实战营邀你来玩!

Serverless Devs

云计算 负载均衡 Serverless 云原生 弹性计算

五种高级 NodeJS 技术

互联网工科生

node.js nodejs

中小企业建设数字化工厂,选择集成老路还是整体重构?

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

网络带宽利用率不够?这些大数据传输解决方案来帮你

镭速

数据传输 大数据传输

DevSecOps:软件安全捍卫者

DevOps和数字孪生

DevSecOps

汽车软件的模糊测试

DevOps和数字孪生

软件定义汽车

【参考设计】100 W USB PD 3.0电源

元器件秋姐

设计 电路 方案 usb 电源

Ubuntu 20.04系统编译安装Memcached教程。

百度搜索:蓝易云

memcached 云计算 Linux ubuntu 运维

Ubuntu 20.04系统编译安装Redis教程。

百度搜索:蓝易云

redis 云计算 Linux ubuntu 运维

跟着核心开发者聊聊大模型应用、框架开源那些事儿

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

4种大文件传输的方式?适用设计类企业的文件传输方法

镭速

大文件传输

携手生态共筑数智底座,加速企业数智化转型

用友BIP

数智底座

简化办公,云上助力!

知者如C

什么是低代码开发平台?浅谈它的价值

高端章鱼哥

低代码 aPaaS JNPF

浅议实时操作系统RTOS

DevOps和数字孪生

RTOS 实时操作系统

EDS从小白到专家丨打造你的专属“数据物流”系统

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 7 月 PK 榜

Python案例实现|爬取租房网站信息

TiAmo

Python 数据分析

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