最IN的云原生架构,阿里云 Serverless 事件总线 EventBridge 重磅发布

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: Serverless 是云计算下一个10年的主要形态,通过大量端到端的整合和云服务的集成,能极大地提高研发效率。了解阿里云 Serverless 产品家族的最新进展,包括函数计算FC、Serverless应用引擎SAE和 Serverless事件总线EventBridge。

发布会传送门

产品详情页

EventBridge 简介

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

近年来,随着云原生和 Serverless 概念的深入人心,事件驱动再一次成为了云应用架构领域的热门词汇。在 2018 年,Gartner 评估报告将 Event-Driven Model 列为10大战略技术趋势之一,事件驱动架构(EDA)将成为未来微服务的主流。该报告同时做出了以下预言:

到 2022 年,事件通知的软件模型将成为超过 60% 的新型数字化商业的解决方案;
到 2022 年,超过 50% 的商业组织将参与到事件驱动的数字化商业服务的生态系统当中;
同年 5 月,云原生 CNCF 基金会托管了开源 CloudEvents 项目,该项目旨在用统一和规范的格式来描述事件,来加强不同的服务、平台以及系统之间的互操作性,事件在云原生大图中的重要性不言而喻。

与此同时,在阿里云上实践事件驱动架构却不是一件简单的事情:

阿里云的云产品,从 IaaS 到 PaaS,每天都有数以亿计的事件产生,但却没有一种简单和统一的方式来触达这些事件;

很多云产品有自建的事件中心,但没有采用统一的标准和规范来描述这些事件,用户无法用同样的方式来解释这些事件;

云上的的事件目前非常独立,无法形成规模效应,很难挖掘出有用的业务价值,只有充分发挥数据的规模效应,建立起数据的血缘关系,我们才能更好的发掘出数据的价值;

目前事件应用的场景偏离线分析,因缺乏开箱即用的中心化事件处理能力,无法应用在在线业务的场景。
9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

为了解决这些问题,阿里云正式发布了最新云产品 EventBridge,一款无服务器事件总线服务,其使命是作为云事件的枢纽,以标准化的 CloudEvents 1.0 协议连接云产品和云应用,提供中心化的事件治理和驱动能力,帮助用户轻松构建松耦合、分布式的事件驱动架构;另外,在阿里云之外的云市场上有海量垂直领域的 SaaS 服务,EventBridge 将以出色的跨产品、跨组织以及跨云的集成与被集成能力,助力客户打造一个完整的、事件驱动的、高效可控的上云新界面。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

EventBridge 核心能力

作为一款全新的云产品,EventBridge 是完全面向云原生设计和架构的,EventBridge 提供的核心能力分为以下几类。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

集成与被集成

集成能力和集成度是产品的关键点,EventBridge 将以低成本甚至零成本,低代码甚至0代码,跨组织和跨云的方式去连接云产品、云应用以及SaaS应用。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

集成云产品

今天的阿里云,有数百个成熟的云产品,有数百万应用的计算实例,它们每天会产生亿级的云事件,但这些事件目前处于失控的状态,是一片尚未被挖掘的数据宝藏。EventBridge 将连接大部分阿里云的云产品,作为事件源或者事件目标,提高阿里云事件的中心化治理能力,充分挖掘云事件的业务价值;同时,通过一站式的云产品连接服务,帮助用户更好地上云和用云。

集成云应用

用户上云的最终目的是充分撬动云计算带来的技术红利,所以上云的过程不仅仅是 Rehost,还需要进行 Replatform 和 Refactor,EventBridge 提供丰富的集成能力,让应用更好地连接和使用云服务。目前用户可以通过 EventBridge 官方的 HTTP 接口、多语言客户端(Java、Golang、Python、C#、PHP)以及 CloudEvents 社区的开源客户端轻松接入阿里云的 EventBridge 生态。

集成第三方 SaaS

对于 SaaS,阿里云坚持被集成的战略,可以预计在阿里云上会成长出一批又一批优秀的 SaaS 提供商,EventBridge 将为 SaaS 提供便捷的方式融入阿里云生态体系,与阿里云一方云产品深度融合。

协调与驱动

Serverless 应用架构的最佳实践便是事件驱动,无论是传统的微服务还是函数计算,EventBridge 将极大地简化事件驱动架构的研发成本,海量的函数以及微服务将以事件的形式被有序协调。
9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

关于编排(Orchestration)和协调(Choreography),Gartner 报告中对比了两种架构的区别,通过请求驱动来组合和编排微服务和函数的方式带来了很多不必要的强耦合,而通过事件驱动的方式来协调微服务和函数,将是更彻底的解耦,提高程序的韧性,业务的开发也将变得更加敏捷和高效。

数据通道

EventBridge 另一个核心能力是为流式的数据承担通道的责任,通过 CloudEvents 规范和 Schema 注册表(Coming Soon)来统一描述这些数据,并提供基础的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据路由。

为此,EventBridge 即将上线 Connect 能力,通过大量的 Source 和 Sink Connector 将用户的数据在云上流动起来。

EventBridge 基本模型

EventBridge 产品包含几个基本概念:事件、事件总线、事件源、事件规则以及事件目标。
9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

如上图所示,事件从事件源被投递至事件总线,经过规则的过滤和转换处理,最终被投递给多种事件目标,完成事件的处理。

事件

事件,代表了事情的发生、条件和状态的变化。在云的时代,事件是无处不在的,云的任何一个产品、一个应用、甚至一个资源都在时刻发生事件,它们称为事件源。事件源来自不同的组织和环境,事件源对事件将被如何响应没有任何预期,事件目标通过中心化的事件总线来订阅事件,依赖事件具备的自描述能力,来低成本地理解和处理事件。

EventBridge 中的事件通过云原生事件标准 CloudEvents 来描述,CloudEvents 是 EventBridge 生态系统中的一等公民。EventBridge 采取 CloudEvents 的主要原因为:

采取统一的云原生事件标准,有助于统一表达来自不同事件源中的事件,提升事件驱动程序的互操作性。
标准化,用户没有厂商锁定的担忧,基于 CloudEvents 的事件驱动程序可以在不同云之间随意移植。
CloudEvents 具备非常简单的结构,如下 JSON 文本为一个 CloudEvents 事件。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

阿里云 EventBridge 目前支持两类事件:自定义事件和阿里云服务事件。

阿里云服务事件:具备预先定义好的 Schema,来自各个云产品关于用户资源状态变更的事件,比如云视频会议事件,包括会议开始、结束、成员变更等会议事件。
自定义事件:用户可以使用 CloudEvents 社区的开源 SDK、EventBridge 官方的多语言轻量级 SDK、EventBridge Connect、WebHook等(后两种能力即将开放)方式投递自定义事件至 EventBridge,丰富的事件源接入方式助力客户快速打造事件驱动的 Serverless 应用程序。

事件总线

事件总线是一个抽象概念,是事件的载体,阿里云 EventBridge 的事件总线具备用户纬度的多租户能力,每个总线有唯一的资源 ARN。事件发送至事件总线,随后被事件规则路由至事件目标。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

如上图所示,阿里云的事件总线分为两类:

默认事件总线:用户开通 EventBridge 时自动创建 default 总线,所有接入的云服务事件都将主动投递至 default 上,对于用户来说云产品的事件是开箱即用的。
自定义事件总线:用户自行创建,用来接受自定义的事件,是用户研发事件驱动架构程序的必备资源。

规则

规则对事件总线中的事件进行过滤,过滤成功的事件经过一定的转换路由到规则中指定的阿里云目标服务或者HTTP网关。

EventBridge 中的规则有两端,一端连接事件总线,一端连接事件目标,并且是一对多的关系,每个规则最多关联 5 个事件目标。同时,规则中的过滤和转换组件,为用户提供了轻量级的事件过滤和转换的能力。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

规则中过滤能力由事件模式(Event Pattern)提供,当前支持的过滤模式包含:

  • 指定值匹配
  • 前缀匹配
  • 后缀匹配
  • 除外匹配
  • 数值匹配
  • 数组匹配
  • 以及复杂的组合逻辑匹配

规则中的转换用于将 CloudEvents 转变事件目标接受的格式,EventBridge 提供了四种转换器:

  • 完整事件:不做转换,直接投递原生 CloudEvents。
  • 部分事件:通过 JsonPath 语法从 CloudEvents 中提取部分内容投递至事件目标。
  • 常量:事件只起到触发器的作用,投递内容为常量。
  • 模板转换器:通过定义模板,灵活地渲染自定义的内容投递至事件模板。

EventBridge 产品架构

EventBridge 作为一款全新的云产品,全面采用了云原生技术栈,如下图所示,EventBridge 搭建在容器服务提供的 Kubernetes 集群之上,设计了一整套基于 K8S 的 DevOps 研发体系,研发阶段实践 GitOps 提高交付和迭代效率,测试阶段配备了大量的自动化测试,发布阶段有完善的灰度机制,运维阶段依赖 K8S 的自愈能力大幅度降低运维成本,并通过 Prometheus ,SLS 等产品建立了云原生的监控体系。

除此之外,EventBridge 依赖 RocketMQ 提供核心的事件存储能力,RocketMQ 作为阿里自研的消息中间件,经历过多次双11流量高峰的考验和无数个阿里内部业务场景的验证,为 EventBridge 提供了高 SLA 的,高性能的事件传输服务。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

EventBridge 典型场景

在本章节,我们根据 EventBridge 当前以及具备的能力,列举三个典型的案例。随着 EventBridge 生态的丰富,未来可以挖掘更多的业务场景,我们后续也会出一系列的样板间项目,方便用户快速将事件驱动的方式契合大盘自己的业务场景中。

场景 1:360 度业务全景

随着企业业务规模的扩大,业务的稳定性愈发重要,为了避免故障随着场景的复杂化而频繁发生,对应用建设 360 度全方位的可观测和监控体系尤为重要。传统的应用基于云原生重构后,享受云原生技术红利的同时也为应用的稳定性治理带来了更多的复杂性,最主要的就是变更难以控制:业务依赖了整套云的基础设施,IaaS 层物理资源、网络资源以及 PaaS 层云服务,甚至依赖的上下游服务,时刻都在进行变更,用户很难立马感知到变更的发生以及相应的影响,而 95% 的故障都是由变更导致的。

为了解决这个问题,通过 EventBridge 打造 360 度业务全景图,清晰地感知整个产品业务链路上,做了哪些变更,有哪些异常反应,这些异常反应是不是跟最近的变更有关联,遇到特殊问题时,我们甚至可以通过自运维的方式,帮助产品更快的恢复,将影响面降低到最小。

而这些能力的拥有,离不开 EventBridge 集成多个云产品事件的能力,也离不开 EventBridge 可以通过事件触发多个云产品响应的能力。事件作为一个信息的重要载体,通过 EventBridge 优雅的协调各个云产品进行有序工作。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

场景 2:网页截图制作每日快报

场景 1 是一个比较复杂的案例,再来看一个可以快速上手的场景:使用 EventBridge 驱动函数计算帮我们进行网页截图,并通过邮箱发送出去,制作每日快报。

  • 首先,业务系统通过分析,计算出今日有价值的头条新闻,并把新闻 URL 地址通过 Event,发送给EventBridge;
  • EventBridge 接收到 Event 后,根据预配置的规则,开始触发函数计算的网页截图程序进行工作;
  • 函数计算接收到 Event 后,自动创建资源,并运行网页截图程序进行截图,保存到 OSS,同时通知 EventBridge 截图完成,然后自动释放资源;
  • EventBridge 接收到函数计算完成的 Event 后,根据预配置的规则,开始触发邮箱服务,将网页截图以邮件的形式发送给目标用户;

从这个例子中,可以发现:Serverless 和 EventBridge,是云原生时代一个非常强有力的组合。通过事件去驱动函数计算,让业务按需调度资源,不仅可以预防突发流量带来的稳定性风险,还可以最大程度的降低成本,按需付费。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

场景 3:新零售智慧家具门店

EventBridge 未来可以触达的场景有多大?让我们看一个新零售智慧家具门店的场景:

  • 仓库的家具商品入库事件、门店的顾客进店事件通过 EventBridge 实时流转到在线分析系统,让我们知道现在店内有哪些家具商品,进店顾客的家具偏好是什么,并推送给商场门店的导购员或则广告屏,帮助门店更好的下单转化;
  • 顾客在线电子支付后,订单信息发送到 EventBridge,并触发第三方物流公司进行送货上门;
  • 第三方物流公司,可以实时的将家具的位置信息通过 EventBridge 推送给移动端APP,客户可以通过 APP 很方便的实时了解到自己的家具到哪了,预估还需要多久送到家;
  • 所有这些通过EventBridge流转的在线业务事件数据,最终通过EventBridge流转到离线分析系统,自动生成业务报表,供管理层做绩效考核或则运营决策。
    9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

在这个场景中,EventBridge 起着关键的通道作用,无论是 IoT、在线业务、还是大数据场景,EventBridge 将事件信息高效的流转,推动业务目标达成。Event 既作为在线业务数据,又作为离线分析数据,这种方式,既降低了成本,同时也提高了效率。

EventBridge 未来规划

作为云上的事件枢纽,EventBridge 最核心的能力就是连接。所以,未来EventBridge会重点建设生态网络。无论是在线业务场景、IoT 场景、还是大数据场景,都能够通过低代码甚至 0 代码的方式,集成到 EventBridge。如果你的应用部署在私有 IDC 机房,或则其他云厂商环境,我们也都将提供安全可靠的集成方式。

当然,云时代下这么庞大的神经中枢系统,不是一日可以建成的,需要大家一起的努力。所以未来,EventBridge 同时会致力于开源社区建设,也希望志同道合的朋友一起加入进来,成为云原生时代,Event-Driven Model 的第一批布道师。

9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
Kubernetes Cloud Native Serverless
批处理系统:Batch批量计算与云原生Serverless Argo Workflows
本文对比了Batch批量计算与Serverless Argo Workflows在容器化批处理任务中的应用,分析了两者在任务定义、依赖关系、规模并发、高级编排、可移植性等方面的异同,帮助技术决策者根据自身需求选择合适的平台。
|
4月前
|
Kubernetes 安全 Serverless
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
Kubernetes云原生问题之在Serverless Container中,Pod运行如何解决
78 5
|
4月前
|
Cloud Native Serverless 云计算
云原生时代的技术演进:从微服务到Serverless
在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的重要力量。本文将探讨云原生技术的关键组成部分—微服务与Serverless架构—如何助力企业实现敏捷开发和高效运维。通过深入分析这两种架构模式的优势与挑战,我们旨在为读者揭示云原生环境下的最佳实践和未来发展趋势。
|
5月前
|
运维 Cloud Native 持续交付
云原生架构的演进:从微服务到无服务器计算
【7月更文挑战第28天】在数字化浪潮的推动下,云原生技术不断演进,引领着软件开发和运维模式的革新。本文将深入探讨云原生架构的发展历程,着重分析微服务架构与无服务器计算模型如何相互补充,共同推动现代应用的开发与部署。我们将从微服务的基本原则出发,探索其如何赋能团队快速迭代和扩展应用,进而阐述无服务器计算如何简化资源管理,降低运营成本。通过对比分析,揭示两者结合的优势,为读者提供构建未来云原生应用的洞见。
|
6月前
|
人工智能 运维 Cloud Native
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
云原生技术实践营深圳站聚焦Serverless+AI,6月21日探索技术结合新思路,助力降低GPU成本,简化开发运维。限额80人,报名审核制,活动涵盖Serverless趋势、AIGC应用、AI算力优化等议题,还有实操体验与现场抽奖。
云原生技术实践营 · 深圳站——Serverless + AI 专场邀您参会!
|
6月前
|
关系型数据库 MySQL Serverless
Serverless 应用引擎产品使用合集之在SAE2.0上的应用如何访问云原生数据库PolarDB MySQL版集群
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
人工智能 Cloud Native Serverless
云原生技术实践营 · 深圳站:Serverless + AI 专场开启报名!
“云原生技术实践营 · 深圳站 ——Serverless + AI 应用开发专场”是一场以 Serverless 为主题的技术活动,通过一个下午的时间增进对 Serverless 技术的理解,快速上手,活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主,活动形式为演讲、动手实操。
|
5月前
|
运维 Cloud Native 开发者
云原生架构的演进之路:从微服务到无服务器计算
在数字化转型的浪潮中,企业不断追求更高效、灵活的IT解决方案。云原生技术作为推动现代软件部署的关键力量,其发展经历了从微服务到无服务器计算的转变。本文将深入探讨这一演进过程,揭示它如何重塑应用开发与运维模式,并展望云原生技术的未来趋势。
|
5月前
|
运维 Cloud Native 云计算
云原生架构的演进:从微服务到无服务器计算
【6月更文挑战第30天】 在数字化转型和技术创新的浪潮中,云原生技术以其灵活性、可扩展性和成本效益成为企业IT战略的核心。本文将探索云原生架构的关键概念,从早期的微服务架构到现代的无服务器计算模型,揭示这一演变如何推动企业更高效地开发、部署和管理应用程序。我们将深入讨论这些技术背后的原理,以及它们如何帮助企业实现敏捷性、弹性和自动化运维。
|
6月前
|
人工智能 运维 Cloud Native
活动回顾丨云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾 & PPT 下载
云原生技术实践营 Serverless + AI 专场 (深圳站) 回顾。

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    DataWorks