事件总线EventBridge(EB)的测评

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
Web应用防火墙 3.0,每月20元额度 3个月
简介: 对阿里云 事件总线EventBridge(EB)部分场景的测评

什么是事件总线:

来自阿里云的介绍:
事件总线EventBridge(EB)是阿里云提供的一款无服务器事件总线服务,支持阿里云服务、自定义应用、SaaS应用以标准化、中心化的方式接入,并能够以标准化的CloudEvents 1.0协议在这些应用之间路由事件,能帮助我们轻松构建松耦合、分布式的事件驱动架构。

事件流程图:

图片.png

事件总线EventBridge为阿里云官方事件源产生的所有事件提供Schema。如果是自定义总线的事件,可以自定义Schema,Schema都存储在Schema注册表中,事件目标可以从Schema注册表中下载事件Schema的Code Binding,实现快速访问事件,从而消费事件消息。

我们的实践

事件总线EventBridge(EB)已经使用小半年了,使用EB非常方便,也成功帮我们提前发现了 2 次重要的错误变更,将问题降低到最小范围。

当前在使用的事件总线(主要是阿里云的源):

图片.png

主要场景之一,对云上产品配置操作变更的感知,因为涉及多位同事使用,有些网络基础变更,比如WAF、SLB、Nat网关、EIP等错误变更,会直接影响生产业务开展。出现故障的时候,我们需要第一时间收集线上变更信息,EB的事件变更可以很好的作为部分故障溯源的参考。传统手工操作控制台的方式,需要获取Action动作比较难,但是接入EB后,使用EB的事件集成能力,很容易做到云上资源变更的感知,以及进一步的事件延伸动作。

举一例:
WEB应用防火墙WAF的事件变更感知,我们直接将当前事件变更传递到 SLS和钉钉里。

SLS 可以收集、存储详细的变更数据。钉钉信息可以迅速传导到每个人,方便判断变更影响范围和故障定位需要。

图片.png

变量和模版:

{
    "type":"$.data.resourceEventType",
    "time":"$.time",
    "cf":"$.data.configuration",
    "cfdiff":"$.data.configurationDiff"
}

"${name} ,Type is ${type}, Config is ${cf}, DiffConfig is ${cfdiff}"

测试:
我们对WAF下的web站点进行源站修改。
收到的钉钉通知

图片.png

SLS内容,可以通过diff配置,看到详细的变更范围。
图片.png

但也有些使用上的问题:

1,云事件大盘观察功能缺陷
使用云事件大盘可以很方便观察到云产品的事件源和事件类型变更,
但部分产品的事件源还没有接入到大盘里,希望能再完善下。

图片.png

查看容器的Arms采集K8S事件
图片.png

但无法查询到真实数据,只有统计数据。
图片.png

下载下来也是空的。也希望再完善下。
图片.png

目前所有数据只能从之前事件变更时传递到SLS上去获取。

2,容器事件采集功能不完善

不支持采集configmap、deploymnet、ingress的事件, EB是采集集群里的事件中心里的事件,但测试发现configmap、deploymnet、ingress的变更 都没有创建到事件中心里,但是会记录到SLS的日志审计里。希望能接入到EB中。

图片.png

其它使用场景:

我们使用HTTP/HTTPS自定义事件源接入了Grafana,完成事件源对接。
图片.png

图片.png

预设了其他场景,待实现:

1,ARMS 监听到应用 API 出现问题(请求过载、故障) ,触发SAE/ 函数计算进行弹性扩容。

2,内部中间件平台,比如配置中心下某些指标参数修改后,通过自定义事件传递告警通知。

有太多场景,有了EB后,我们可以快速实现。

总之,事件总线EventBridge,是一款非常棒的产品,对业务稳定性帮助非常大。

也希望EB能支持更多的功能,比如对事件数据的过滤,转换,富化,规整,合并,传递等,可以下钻到数据安全、分析等领域,帮助中小企业,把控全网的数据变更、安全风险。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
JavaScript
解释 Vue 的事件总线和 emits 属性。
解释 Vue 的事件总线和 emits 属性。
32 3
|
1月前
|
JavaScript
在Vue中,如何使用事件总线来传递数据和触发事件?
在Vue中,如何使用事件总线来传递数据和触发事件?
28 0
|
1月前
|
JavaScript 程序员
Vue中的全局事件总线是什么?如何使用?
Vue中的全局事件总线是什么?如何使用?
36 0
|
1月前
|
JavaScript 前端开发 API
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
从入门到项目实战 - VUE组件跨通信:vue2 与 vue3 中实现全局事件总线
151 0
|
1月前
【Vue2.0学习】—全局事件总线GlobalEventBus(六十一)
【Vue2.0学习】—全局事件总线GlobalEventBus(六十一)
|
6月前
|
JavaScript
Vue全局事件总线(任意组件间通信)
Vue全局事件总线(任意组件间通信)
|
6月前
【Vue2.0】— 全局事件总线GlobalEventBus(十九)
【Vue2.0】— 全局事件总线GlobalEventBus(十九)
|
10月前
|
JavaScript
[Vue]全局事件总线
[Vue]全局事件总线
|
JavaScript
Vue(Vue2+Vue3)——44.全局事件总线、45.TodoList案例_事件总线
Vue(Vue2+Vue3)——44.全局事件总线、45.TodoList案例_事件总线
|
JavaScript
Vue —— 进阶脚手架(五)(全局事件总线、消息订阅与发布)
Vue —— 进阶脚手架(五)(全局事件总线、消息订阅与发布)
101 0