category
介绍
作为主流的开源无服务器框架,Knative提供了应用程序部署、自动弹性和事件驱动功能。在人工智能场景中,用户往往对事件处理和资源成本节约有很高的要求。本文描述了如何使用Knative实现具有事件驱动、事件分发和自动弹性的实践,以满足不同场景中用户的需求。
将从三个方面进行详细介绍:
- 事件驱动框架:Knative Eventing
- 事件驱动引擎:事件源【Event sources】
- 人工智能事件驱动场景的实践
Knative模型
Knative有两个核心模块,即服务和事件。Serving通过Knative Service为应用模型提供多版本管理、自动弹性和基于流量的金丝雀发布功能。Eventing提供了一个事件驱动的框架,包括事件源以及Broker和Trigger模型。在这篇文章中,Knative Eventing是主要的焦点。
事件驱动框架:事件
Knative Eventing提供了一个完整的事件模型,可以方便地访问各种外部系统中的事件。访问后,通过CloudEvent标准在内部转发事件,结合Broker和Trigger机制,提供了一种理想的处理事件的方式。
- Knative Eventing提供松散耦合的服务,可以独立开发和部署。服务跨Kubernetes、VM、SaaS和FaaS平台工作。
- 事件生产者和消费者相互独立。
- 社区提供了各种现成的事件源。
- 支持第三方消息系统以实现灵活的可扩展性。
主要功能-事件规则
在Eventing中,Broker和Trigger用于事件转发和分发。分发离不开规则,而Trigger提供了丰富的规则设置功能,如下图所示:
- 触发器过滤器过滤事件内容。
- 它可以过滤事件的属性和数据内容。
- 它可以过滤通用表达式语言(CEL)的表达式。
- 它可以按SourceAndType进行筛选。
事件驱动引擎:事件源
事件源充当事件驱动引擎。Knative社区提供了广泛的事件源,如Kafka和GitHub。此外,还访问了用于消息传递的云产品的事件源,如消息服务(MNS)和RocketMQ。
这个完整的事件系统可以轻松实现以下事件驱动的场景:
- 自动CI/CD
- AI音视频场景
- 与各种云产品的事件连接,因此产品的状态更新会自动触发服务。
Apache RocketMQ事件源
Apache RocketMQ阿里云消息队列是基于Apache RocketMQ的分布式消息中间件。它具有低延迟、高并发、高可用性和高可靠性的特点。消息队列为分布式应用程序系统提供异步解耦和负载转移。此外,它还支持Internet应用程序的功能,包括大量消息积累、高吞吐量和可靠的重试。
RocketMQSource是Knative的RocketMQ事件源。它可以将RocketMQ集群的消息以CloudEvent格式实时转发给Knative。它是Apache RocketMQ和Knative之间的连接器。
- 访问RocketMQ消息系统
- 将消息分发给Knative Service
Apache Kafka事件源
Apache Kafka的阿里云消息队列是一个基于开源Apache Kaf卡的具有高吞吐量和可扩展特性的分布式消息队列。消息队列广泛应用于大数据场景,如日志收集、数据聚合监控、流式数据处理以及在线和离线分析。它已经成为大数据生态系统中不可或缺的一部分。阿里云为用户提供无需运维的全托管服务,使产品更加专业、可靠、安全。
Knative社区提供Kafka事件源,支持开源Kafka和阿里云Kafka产品:
- 访问Kafka消息系统
- 将消息分发给Knative Service
人工智能事件驱动场景的实践
让我们以一个Kafka事件源为例,介绍一个典型的消息驱动场景。
该客户有一个在线直播系统,每天都有大量访客。访问量根据直播的受欢迎程度而弹性波动,同时也存在不规则的激增。同时,直播系统支持用户在线互动。交互行为由Kafka实时推送到服务器进行数据和AI处理。处理结果被实时推回到视频流中进行直播。消息数据处理面临以下技术挑战:
- 具有高消息并发性的弹性业务波动
- 低延迟的实时交互响应
总结
本文介绍了Knative的事件驱动框架Eventing。它支持访问Kafka和RocketMQ事件源。文章还介绍了在人工智能事件驱动场景中结合MNS和Knative的方法。欢迎您今天尝试一下!。
- 登录 发表评论
- 37 次浏览
最新内容
- 1 week 5 days ago
- 2 weeks 6 days ago
- 3 weeks 2 days ago
- 3 weeks 2 days ago
- 3 weeks 5 days ago
- 3 weeks 6 days ago
- 4 weeks ago
- 4 weeks 1 day ago
- 4 weeks 1 day ago
- 4 weeks 1 day ago