阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

关注

评论

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

npm run 脚本背后的事情

Jerry Wang

node.js 开源 npm YARN 9月月更

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 9月月更

我理解的Smart Domain与DDD

Bright

敏捷 DDD TDD

Mavan:自定义骨架及工程初始化

程序员架构进阶

maven 低代码 9月日更 9月月更

已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了

退休的汤姆

程序员 面经 面试技巧 秋招 Java八股文

如何看待2023年秋招技术岗哀鸿遍野?

退休的汤姆

程序员 互联网 面试 社招 秋招

IO多路复用中的Select/poll/epoll总结全乎了

知识浅谈

IO多路复用 9月月更

Spring源码分析(七)扩展接口BeanPostProcessors源码分析

石臻臻的杂货铺

spring 9月月更

Spring源码分析(八)Spring 所有BeanFactoryPostProcessor扩展接口

石臻臻的杂货铺

spring

用TDD开发基于数据库的长时任务系统

Bright

敏捷 DDD TDD

mysql进阶

楠羽

MySQL 笔记 9月月更

新零售SaaS架构:商品系统架构设计

架构师汤师爷

系统架构 SaaS 新零售

Java 键盘输入n个数进行排序输出

排序 java基础 9月月更

大型网站架构

源字节1号

软件架构 后端开发

FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)

矜辰所致

STM32CubeMX FreeRTOS 9月月更

Alibaba内传(2022更新版《面试速成手册》)流出,熬夜看到176页,YYDS!

程序知音

Java 阿里 程序员面试 后端技术 Java面试八股文

容灾数据一致性保障探讨

agnostic

容灾 CAP

设计模式的艺术 第二十五章模板方法设计模式练习(用模板方法模式开发一个数据库操作模块,用户只需将SQL语句作为参数传入模板方法,则可实现连接数据库、打开数据库、操作数据库(查询或更新)、关闭数据库等操作)

代廉洁

设计模式的艺术

「知识点」曾经忽略的arguments

叶一一

JavaScript 前端 9月月更

C++学习------cstdint头文件的源码学习

桑榆

c++ 源码阅读 9月月更

拆分电商系统为微服务

张立奎

如何不编写 YAML 管理 Kubernetes 应用?

北京好雨科技有限公司

四天拿捏Spring Security?这份清华大佬总结的笔记究竟有多离谱

了不起的程序猿

Java spring 程序员 JAVA开发 spring security

Java问题解决录: 运行时抛出NoSuchMethodError / NoSuchFieldError异常

崔认知

「知识点」PropTypes提供的验证器

叶一一

JavaScript 前端 9月月更

redis数据结构之压缩列表

急需上岸的小谢

9月月更

从改善设计的角度理解TDD (2)

Bright

敏捷 TDD

好代码的五个特质-CUPID

Bright

敏捷 DDD TDD

设计模式的艺术 第二十四章策略设计模式练习(开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,为了将来能够模拟更多种类的飞机,试采用策略模式设计该飞机模拟系统)

代廉洁

设计模式的艺术

从改善设计的角度理解TDD

Bright

敏捷 TDD

C语言:位段、枚举、联合体

孤衫

后端 C语言 枚举 9月月更

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