CloudEvents是一个用标准方式描述事件数据的开源规范,旨在简化事件声明以及跨服务、平台等的消息投递。推动该规范的是云原生计算基金会( Cloud Native Computing Foundation,简称CNCF),该基金会最近宣布该规范达到了 1.0 里程碑版本。
在 2017 年 4 月,CNCF 发起了一个工作组(Workgroup,WG)来探索由 AWS、谷歌、微软、IBM、SAP、Red Hat、VMware 等公司强化的云原生和无服务器技术的交集。微软的消息服务和标准的首席架构师Clemens Vasters和 InfoQ 分享了他关于这次合作的看法:
我们从一开始就参与了 CloudEvents 项目,将我们在超大规模消息传递服务和事件应用程序方面的经验以及客户需求和场景融入其中。从合作的角度来看,该项目已经获得了巨大的成功。20 多个不同的主体共同打造了 CloudEvents,其中包括所有主要的公共云平台供应商和很多平台用户。尽管存在激烈的市场竞争,但是,在整个项目进行的过程中,氛围是非常有成效和建设性的,我们都为我们获得的成果感到自豪。
CNCF 于 2018 年 5 月接受 CloudEvents 为一个沙箱项目,作为孵化成熟的起点,当达到 CNCF 的标准时,最终才能毕业。目前,CNCF 技术监督委员会(Technical Oversight Committee,简称 TOC)把 CloudEvents 沙箱项目提升为孵化,这是 CNCF景观模型的中间层。该工作组本身将继续致力于让 CloudEvents 达到毕业成熟的水平。Vasters 告诉 InfoQ:
如果要从现在达成的孵化等级,提升至毕业等级的成熟度的话,最关键是取决于它的接受率。SDK 仍将继续演进,并且会有进一步的扩展,但是,我们不打算从现在开始对核心进行重大的更新。目标是使规范变得稳定。
有了这个规范,开发人员应该能够通过利用 CloudEvents 提供的标准化元数据,轻松地创建无服务器应用程序,以接受来自各种其他的云平台的事件。Vasters 告诉 InfoQ:
最后,无论事件是从哪里发出,我们都希望客户能够以一致的方式构建事件驱动的应用程序。我们相信,我们已经用 CloudEvents 1.0 版本实现了这些目标,并期望业界接纳这些约定,您将看到我们以身作则,客户应该期待 CloudEvents 将来在我们的 Azure 平台产品中扮演重要的角色。
此外,Vasters 指出:
(该项目的)目的是提供一个行业定义和开放框架,以了解什么是“事件”、什么是其最小的语义元素、如何对事件进行编码以便于传输以及如何传输,并且,我们会使用如今正在用的主要编码和应用程序协议,而不是发明新东西来实现这些。
目前,该工作组的一些参与者在他们的服务产品中已经采用了 CloudEvents,其中包括 Red Hat 的 Event Flow 和 SAP 的 Kyma 平台。此外,微软在其事件网格服务(Event Grid service)中支持CloudEvents 一个较早的版本,预期很快就能使用 1.0 版本作为其原生格式,以替换其专有格式。
除了支持 CloudEvents 的云供应商之外,有些供应商提供的服务不一定支持这个格式。比如,亚马逊有EventBridge,这是一种供客户构建和管理事件驱动解决方案的服务。另外还有,TriggerMesh,他们最近发布了 EveryBridge 平台产品,这是跨云的事件总线,支持跨多个云供应商和内部架构的事件驱动云原生应用程序。
原文链接:
Open Source CloudEvents Specification Reaches Version 1.0 Milestone
评论