一致性
对事件的统一描述的缺乏意味着开发者必须为每个事件源写单独的事件处理逻辑。
cloudevents
一个以通用格式来描述事件数据的规范
为何选择 CloudEvents?
事件在现代系统中无处不在,但不同的事件生产者往往用不同的规范来描述自己的事件。
一致性
对事件的统一描述的缺乏意味着开发者必须为每个事件源写单独的事件处理逻辑。
可达性
缺乏统一的事件格式意味着缺失能够跨环境传输事件数据的公共库、工具以及基础设施。CloudEvents 针对不同编程语言,提供了能用来构建事件路由、事件追踪和其它工具的多款 SDKs 包括 Go、 JavaScript、 Java、 C#、 Ruby、PHP、PowerShell、Rust、 以及 Python 。
可移植性
总体来看,这种对事件的统一描述的缺乏严重阻碍了事件数据的可移植性和生产力。
什么是 CloudEvents?
贡献 CloudEvents 项目
CloudEvents 1.0.2 版本
2022 年 2 月 5 日,CloudEvents 项目发布了v1.0.2 版本的规范。 除了对规格的细微说明外,此版本还增加了以下值得注意的内容:
更多详细信息,请参阅发行说明。 此外,我们重新调整了 “specs” 仓库的目录结构,以适应正在开发的新规范。 请注意,此版本与现有 CloudEvents v1.0 规范兼容。
CloudEvents 1.0.1 版本
CloudEvents 1.0 版本
2019 年 10 月 24 日,CloudEvents 项目取得了两项重大成就。首先,CNCF 的技术监督委员会将该项目批准为“孵化”项目(正式从 CNCF“沙盒”中毕业)。其次,CloudEvents规范发布 1.0版本!
这是本规范的第一个大版本,代表了整个 serverless 社区团队两年来的辛勤工作。几乎所有主要的云厂商,一些“终端用户”公司以及许多个人都参与到了规范的制定,希望本规范在这一里程碑后继续能被越来越多的用户采用。
除了 CloudEvents 核心规范外,还有入门文档以及协议和格式的相关规范被制定出来,这些文件都可以在 GitHub 仓库中找到。 此外,工作组还开发了许多 SDK(Go、JavaScript、Java、C#、Ruby、PHP、PowerShell、Rust 和 Python)来帮助人们生产和使用 CloudEvents。
CNCF Serverless 工作组将决定本规范的下一步重点内容(例如,其它与 CloudEvents 相关的活动,或者可能解决社区正在经历的其它互操作性痛点)。 因此,如果您有兴趣,请加入每周定期线上会议。 此外,我们还在做一些关于 workflow 规范的制定工作。
感谢并祝贺每位参与到 CloudEvents 项目的人!
CloudEvents 规范采纳者
Adobe I/O Events 采用事件驱动架构来简化工作流程、提高营销绩效等,它允许开发人员以编程方式响应用户行为,从而产生具有针对性、有效和个性化的近乎实时的客户体验。
一款 serverless 的事件总线,支持从云服务、SaaS及自定义应用程序接收符合 CloudEvents 的事件,并将这些事件路由到不同目标。
Argo Events 是一个基于 Kubernetes 事件驱动自动化工作流框架,它的事件符合 CloudEvents 规范要求。
Choria 编排系统生产的所有生命周期和自治代理事件都符合 CloudEvents 规范要求。
commercetools 平台的所有服务都可以发出符合 CloudEvents 的事件
Debezium 是一个分布式开源的数据变更捕获平台,它能以 CloudEvents 格式发出数据变更的事件
Direktiv,一个 serverless 的工作流引擎,可以接收 Cloud Events 来触发工作流。
CloudEvents 校验服务。
Falco 是一款基于 Kubernetes 的威胁检测引擎,它可以在运行时根据违反安全策略的情形产生相应的 CloudEvents。
Eventarc 是一个托管基础架构,它允许您使用松耦合的服务构建事件驱动的架构,这些服务随时可以响应状态变化。
Code Engine 是一个完全托管的 serverless 平台,旨在运行容器映像、批处理作业或源代码。 Code Engine 允许您构建能响应 Cloud Events 的事件驱动型工作负载。
Knative Eventing 服务产生和使用的所有事件数据都符合 CloudEvents 规范。
Kogito 业务自动化应用程序发出和使用的所有事件都符合 CloudEvents 规范。
OpenFaaS 函数支持 CloudEvent 事件触发。
Oracle 云基础设施事件服务实现了 CloudEvents。
函数从事件网关接收的所有事件数据都符合 CloudEvents 规范。
Serverless 工作流 JSON/YAML 模型中的所有事件定义都符合 CloudEvents 规范。
Tekton 是一个云原生框架,用于创建 CI/CD 系统,可以在管道和任务执行时发出 CloudEvents。
事件总线是一个安全、稳定、高效的 Serverless 事件管理平台,支持腾讯云服务、自定义应用、SaaS 应用以标准化、集中化的方式连接。
TriggerMesh 在其所有事件源和目标中使用 CloudEvents 来构建应用程序流。
VMware Event Broker Appliance (VEBA) 针对 vSphere 集群中的更改发布 CloudEvents。
wasmCloud 是一个云原生的 WebAssembly 主机运行时 (CNCF项目),它使用 CloudEvents 在其控制界面上进行所有事件的发布和监控。
资源
视频
标题 | 演讲者 | 活动 |
---|---|---|
CNCF CloudEvents Project: A Step Towards Serverless Interop | Doug Davis, IBM | KubeCon China 2019 |
Intro: CNCF Serverless WG / CloudEvents | Scott Nichols, Google and Klaus Deissner, SAP | KubeCon Europe 2019 |
Deep Dive: CNCF Serverless WG/CloudEvents | Clemens Vasters, Microsoft and Vlad Ionescu, Independent | KubeCon Europe 2019 |
Intro: CNCF Serverless WG / CloudEvents | Doug Davis, IBM & Cathy Zhang, Huawei | KubeCon North America 2018 |
The Serverless and Event-Driven Future | Austen Collins, Serverless | KubeCon Europe 2018 |