后台原网站被转接,百度商店应用市场,网站制作后续维护,wordpress 批量删除简介#xff1a; 事件驱动是指事件在持续事务管理过程中#xff0c;进行决策的一种策略。可以通过调动可用资源执行相关任务#xff0c;从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下#xff0c;事件驱动完美符合其设计初…简介 事件驱动是指事件在持续事务管理过程中进行决策的一种策略。可以通过调动可用资源执行相关任务从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下事件驱动完美符合其设计初衷之一按需付费。 作者 | 李鹏元毅 来源 | Serverless 公众号
一、事件驱动框架Knative Eventing
事件驱动是指事件在持续事务管理过程中进行决策的一种策略。可以通过调动可用资源执行相关任务从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下事件驱动完美符合其设计初衷之一按需付费。
1. Knative 模型 图Knative 模型
Knative 主要包括两大部分一是用于工作负载的 Serving包括版本管理、灰度流量、自动弹性二是 Eventing事件驱动框架。 核心玩家 GoogleIBMPivotalRedHatSAP。 友商相关产品 Google CloudRunIBMPivotal Function Service(PFC)OpenShift。
2. 事件驱动框架Eventing Knative 的 Eventing 提供了一个完整的事件模型方便接入各个外部系统的事件。事件接入以后通过 Cloud Event 标准在内部流转结合 Broker-Trigger 模型进行事件处理。
从上图可以看到Eventing 中包含三部分内容
事件源Broker-Trigger事件驱动模型这个模型在早期 16 年的版本开始出现其原理是 Trigger 订阅 Broker 信息并过滤最后将事件发送到对应的服务进行消费。消息系统在 Eventing 中每个 Broker 下面对应一个消息的系统来承载对事件的整个流转。目前社区支持的消息系统包括 Kafka、NATS、Rocket MQ、Rabbit MQ 等。
3. 关键特性事件规则 事件规则的核心是 Broker-Trigger 模型它包含以下特性
Trigger 的 filter 的作用是对 Event 进行内容过滤支持对 Event 的 Attribute 以及 Data 的内容进行过滤支持 Common Expression LanguageCEL表达式过滤支持通过 SourceAndType事件源类型进行过滤。
二、事件驱动引擎-事件源
1. 事件源介绍
Knative 社区中提供了丰富的事件源接入包括 Kafka、Github也支持接入消息云产品的一些事件比如 MNS、RocketMQ 等。 如上图所示接入事件源之后可以通过 Broker-Trigger 模型请求相应的服务。这些服务包括一些具体场景比如从源码构建镜像、自动化镜像发布、AI 音视频处理、定时任务等。所有的事件都需要这样的事件源来拉取然后下发到 Eventing 整个事件流转过程。 事件接入 接入消息云产品事件源通过 MNS 接入更多云产品的事件。 事件处理 Knative Eventing 内部实现事件的订阅、过滤和路由机制事件最终通过 Knative 管理的 Serverless 服务进行消费。 典型案例 AI 音视频处理代码提交自动构建镜像。
2. RocketMQ 事件源 消息队列 RocketMQ 版是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。
消息队列 RocketMQ 版既可为分布式应用系统提供异步解耦和削峰填谷的能力同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。
RocketMQSource 是 Knative 平台的 RocketMQ 事件源。其可以将 RocketMQ 集群的消息以 Cloud Event 的格式实时转发到 Knative 平台是 Apahe RocketMQ 和 Knative 之间的连接器。
3. Kafka 事件源 消息队列 Kafka 版是阿里云基于 Apache Kafka 构建的高吞吐量、高可扩展性的分布式消息队列服务广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等是大数据生态中不可或缺的产品之一阿里云提供全托管服务用户无需部署运维更专业、更可靠、更安全。
三、AI 事件驱动场景实践 以具体场景为例该案例是一个直播系统系统每天都有海量的直播访问访问量根据直播热度随时变化弹性有波动同时存在不定时的增量。客户的诉求一是业务弹性波动消息并发性比较高二是互动实时响应要求低延迟。
为了满足对消息处理的弹性波动、高并发及低延迟的要求客户选择阿里云的 Knative 服务进行数据的弹性处理。阿里云 Knative 完全契合了用户当前的诉求并且在接入 K8s 标准之上提供了基于事件和消息的弹性调度。
当应用实例数随着业务的波峰波谷进行扩容和缩容时真正做到了按需使用、实时弹性的能力。整个过程完全自动化减少业务开发人员在基础设施上的负担。在这个案例中Knative 主要提供了三个能力极致弹性、事件处理、开箱即用。
下面进行示例演示演示内容主要有
部署 Kafka 事件源部署事件网关部署服务模拟事件处理
作者简介 李鹏花名元毅阿里云容器平台高级开发工程师2016 年加入阿里 深度参与了阿里巴巴全面容器化、连续多年支持双十一容器化链路。专注于容器、Kubernetes、Service Mesh 和 Serverless 等云原生领域致力于构建新一代 Serverless 平台。当前负责阿里云容器服务 Knative 相关工作。
原文链接
本文为阿里云原创内容未经允许不得转载。