無伺服器平台在不同雲端上製造了同一個問題:每個事件都有自己的形狀。開發者必須重新學習如何消費儲存、佇列、資料庫或 SaaS 事件,而工具若沒有自訂轉接器,就無法路由或追蹤事件。

CloudEvents 避開了將每個事件主體標準化這項不可能的任務。它定義了共同的內容屬性與傳輸綁定,同時讓承載內容保持領域專屬。訣竅在於提供基礎設施足夠的中介資料以利運作,而不強迫生產者改寫其業務資料。

到了 2019 年 10 月,CloudEvents 達到 1.0 版,並從 CNCF Sandbox 晉升至 Incubation。CNCF 列舉了 AWS、Google、Microsoft、IBM、SAP、Red Hat 與 VMware 的支持與貢獻,並列出包括 Knative Eventing、Debezium、Kyma 與 Azure Event Grid 在內的實作。

標準化信封,而非事件本身

必填的核心屬性讓路由與去重得以跨廠商可攜。

保持事件資料不變,讓既有生產者的採用成本低廉。

協定綁定讓同一事件模型得以透過 HTTP、Kafka、MQTT 及其他傳輸方式傳遞。

中立的 CNCF 歸屬降低了廠商對於單一雲端將掌控事件文法的擔憂。

當承載內容過於多樣而難以標準化時,就標準化能讓基礎設施路由與檢視它們的最小信封。

CloudEvents 成為無伺服器與事件驅動系統的共同中介資料層,後來達到 CNCF 畢業階段。其設計讓轉接器與 SDK 得以跨平台發揮作用,因為工具能在理解承載內容之前先檢視信封。

追溯依據

參考來源

  1. Serverless specification CloudEvents reaches Version 1.0 Cloud Native Computing Foundation · cncf.io ·
  2. CloudEvents Specification v1.0.2 CloudEvents · raw.githubusercontent.com