学堂 学堂 学堂公众号手机端

什么是 CloudEvents,它的目的是什么?

lewis 1年前 (2024-04-11) 阅读数 18 #技术
背景

目前几乎所有主流的 公有云 都接入了 CloudEvents 规范,从大多数使用者的角度上来看——统一规范对后期接入任何云都有显著的帮助,尤其在 Serverless 层面,大家做的事情都很类似的情况下。

那么 CloudEvents 解决了什么问题:

规范化集成化提高可移植性更加友善的进行开发和测试更好的安全策略、更容易的事件追踪、更直接的事件关联Event(s)

所以什么是事件?


当 组件 或者 类 之间的内聚性很高时,那么它们的耦合性应该很低。

假设两个组件之间存在相互调用的场景:A组件需要调用B组件内部的逻辑,从逻辑上来说A组件需要调用B组件的方法才可以实现这个场景,但前提是A组件必须知道B组件是存在,也就是说——它们存在依赖,也就是耦合关系。

当存在这种关系时,组件数量上增加之后系统便会难以维护,那么我们需要一个架构来解决这种问题,也就是:事件驱动(Event-driven Architecture, EDA)

当有了事件驱动之后,我们可以做类似这样的事情:

A组件执行的逻辑需要触发B组件的逻辑时,不需要直接调用它,而是将事件发送到派发器。B组件只需要监听调度事件,并在事件触发时执行操作即可。

在这种场景中,事件是应用程序的一部分,它在多个组件中之间存在并执行组件之间的通讯。

Cloud Event(s)

结合 Event(s) 中提到了事件的定义,云服务上的事件则是在服务器之间来通讯:一个系统的状态变更,导致另外一个系统的代码触发执行。

让我们再具体一点:某个事件源在收到 信号 时(HTTP or RPC),派发了一条 基于某个规范的数据 事件,随后触发了某个使用 该事件规范 的方法(函数)。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门