有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
本文将帮助您快速了解事件总线 EventBridge 的核心概念,并助您快速上手事件总线。

1. 什么是事件总线 EventBridge?

腾讯云事件总线(EventBridge)是一款安全、稳定、高效的无服务器事件管理平台。事件中心的事件总线可以接收来自您自己的应用程序、软件即服务(SaaS)和腾讯云服务的实时事件及相关数据流,并将事件、数据路由到云函数 SCF 或消息队列服务 TDMQ 等其他腾讯云服务目标。同时事件总线支持自定义事件的处理及筛选,您可以在事件总线中设置事件规则、自定义事件匹配或相关过滤逻辑。当事件总线收到与规则中定义的事件模式匹配的事件数据时,该事件将被发送到规则定义的一个或多个目标。

2. 核心概念

使用腾讯云事件总线之前,您还需要了解以下概念:

2.1 事件

状态变化的数据记录。EventBridge 中的事件分为官方云服务事件及自定义事件。
云服务事件:分为 监控事件(如云服务器的内核故障、内存 oom 等)与审计事件,由官方云服务主动产生。在您开通事件总线 EventBridge 后,所有云服务事件将投递至云服务事件集,该投递为默认投递,不支持更改或删除。具体可参见 云服务事件
自定义事件:由您自己的应用程序产生的事件,您可以在 创建自定义事件集 后通过 配置事件连接器 或使用API/SDK对自定义事件进行投递。
投递到 EventBridge 的事件格式均遵循 CloudEvents 1.0 事件规范,如下是一个典型事件结构,具体可参见 事件结构
{
"specversion":"1.0",
"id":"13a3f42d-7258-4ada-da6d-023a333b4662",
"type":"cos:created:object",
"source":"cos.cloud.tencent",
"subject":"qcs::cos:ap-guangzhou:uid1250000000:bucketname",
"time":"1615430559146",
"region":"ap-guangzhou",
"datacontenttype": "application/json;charset=utf-8",
"data":{
$data_value
}
}


2.2 CloudEvents 1.0规范

CloudEvents 是一种用标准方式描述事件数据的开源规范,具体可参见 CloudEvents 1.0

2.3 事件源

事件的来源,负责将生产的事件发布到事件总线 EventBridge。腾讯云 EventBridge 目前支持3类事件源:
腾讯云服务:当希望使用官方云服务产生的监控事件(如云服务器的内核故障、内存oom等)与审计事件(Coming Soon)作为事件源接入时,只需开通相应的腾讯云服务,即可自动接入事件总线 EventBridge。官方云服务事件将被默认投递到云服务事件集。具体请参见 云服务事件
自定义应用:当希望自定义业务作为事件源接入时,您可以使用 API/SDK 接入事件总线 EventBridge, 也可以使用事件连接器。
事件连接器:连接器用于从消息队列、网关等事件源中主动拉取事件,并将事件以标准化的格式投递到自定义事件集中。通过在事件集中绑定一个或多个连接器,即可以实现自动拉取消息队列、网关的事件内容,并推送至指定的自定义事件集。具体请参见 连接器概述

2.4 事件集

事件集是EventBridge的核心能力,承担事件收集和事件存储等能力。一个事件集可绑定若干事件规则及若干连接器。EventBridge 的事件集可分为云服务事件集和自定义事件集:
云服务事件集:用以收集官方云服务产生的监控事件审计事件。开通 EventBridge 后自动创建,用户不可修改、删除该事件集,但可以管理该事件集下的事件规则。所有官方云服务监控事件与审计事件将被默认投递至此。
自定义事件集:需要您自行创建并管理的事件集,用于接收您自己的应用程序产生的事件。您自己的应用程序产生的事件只能发布到自定义事件集。自定义事件集的创建方法请参见 创建自定义事件集

2.5 事件规则

每个事件集包含若干条事件规则,事件规则是 EventBridge 的核心能力,主要承担事件触发、事件筛选、事件提取等能力。事件规则包括:
事件匹配:匹配事件模式,决定哪些事件可以被触发到事件目标。事件模式的编写方法请参见 事件模式
事件目标:事件的处理终端,负责消费事件。
每条规则可指定若干事件目标,当规则被命中时,事件会被推送至所指定的事件目标。具体请参见 事件规则

2.6 事件目标

事件的出口,当前支持的事件目标包括消息推送、CLS 日志与 SCF 云函数:
消息推送:对于云服务默认事件集收集到的云服务告警事件,事件总线支持用户通过配置消息推送,从而实现监控告警事件到用户端的实时推送。目前仅支持云服务事件集中的规则,具体请参见 消息推送目标投递
CLS 日志:事件总线作为云上事件传递管道,只进行事件的筛选与路由分发,如果您需要对于事件进行记录或者存储,可以通过配置 CLS 投递目标实现。具体请参见 CLS 日志目标投递
SCF 云函数:您可以将收集到的事件投递到指定的投递目标完成处理与消费,目前事件总线支持腾讯云云函数作为投递目标,并提供了多个预设模板,帮助您完成事件的投递。具体请参见 SCF 云函数目标投递

2.7 事件投递过程

对于官方云服务产生的监控事件及审计事件,其流转过程如下:

对于自定义事件,以使用事件连接器为例,其流转过程如下:

更多 EventBridge 涉及的概念解释,请参见 基本概念

3. 产品功能

事件收集:提供标准事件投递接口,完成云服务事件、SaaS 服务事件等不同事件源的规范化接入。
事件管理:提供事件的可管理特性,通过格式匹配、内容筛选、格式转换、追踪、归档、重放等能力,为客户在事件驱动(EDA)架构下提供更多支持。
事件投递:支持多种类型多个目标的投递,具有高可扩展能力,可基于实际业务场景提供不同解决方案。

4. 计费方式

腾讯云提供事件总线 EventBridge 按量计费的购买方式,事件总线 EventBridge 按照事件集类型进行计费。详情见 购买指南

5. 快速上手事件总线

6. 新手常见问题