CloudEvents 介绍

发布时间: 更新时间: 总字数:823 阅读时间:2m 作者: 分享 复制网址

CloudEvents以通用方式描述事件数据的规范,常用于分布式系统,用来构建松耦合且可独立部署的分布式系统。

介绍

CloudEvents规则最初由CNCF下的Serverless Working Group创建,用来定义事件的规范。从v0.1后,该规范被升级为CNCF沙盒项目。

特点

  • 一致性:统一描述事件的通用格式
  • 可访问性:CloudEvents 为 Go、JavaScript、Java、C#、Ruby、PHP、PowerShell、Rust 和 Python 提供 SDK,可用于构建事件路由器、跟踪系统和其他工具
  • 可移植性:可以从事件数据中实现的可移植性和生产力总体上受到阻碍

集成支持者

  • Adobe I/O Events
  • Alibaba Cloud EventBridge
  • Argo Events
  • Azure Event Grid
  • Choria
  • commercetools
  • Debezium
  • Direktiv
  • Falco
  • Google Cloud Eventarc
  • IBM Cloud Code Engine
  • Keptn
  • Knative Eventing
  • Kogito
  • OpenFaaS
  • Oracle Cloud
  • Serverless.com Event Gateway
  • Serverless Workflow
  • Tekton Pipelines
  • Tencent Cloud EventBridge
  • TriggerMesh
  • VMware Event Broker Appliance
  • wasmCloud

概念

  • 事件(Event):是一段不可变的数据,记录系统在特定时间内的特定行为,或转态的转变
    • 事件包括某个实际情景(occurrence)的上下文和数据,和一个唯一标识
    • 通过事件流,可以重塑系统的运行历史
    • 事件通常用于后端代码或子系统中
    • 事件源(Event Source) 生成事件(Event)被封装在协议中生成传输单元(Message)以方便传输,事件到达目的端后,将触发基于事件数据的动作(Action)
      • 传输协议:支持行业的各种标准协议(如HTTP、AMQP、SMTP等)、开源协议(如KAFKA、NATS)等
      • 动作(Action)通常是由特定来源的特定事件触发,是专门处理该类事件的代码,可允许与 Serverless Function 逻辑中
  • 事件源(Event Sourcing)是事件数据的持久化模式
  • 事件驱动 不存在规范的、严格的定义,任何使用事件通知范式(pub/sub)的系统都是事件驱动系统,一般分为两类:
    • 响应时(reactive) 本质是分同步性质的函数调用(通过HTTP RESTFULL、RPC、GRPC调用)
    • 流处理(stream processing) 密集式、面向数据式使用事件,订阅者通常是流处理器,从事件流中提取状态,并将状态专递给其他系统

参考

  1. https://cloudevents.io/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数