介绍在Kubernetes上实现事件驱动处理的KEDA!

这篇文章是求Mu!Cloud Native应用程序开发的技巧!【PR】日本Microsoft Advent Calendar 2020的第4天(事后补写的)。


我将介绍KEDA。

KEDA 是什么?

KEDA是Kubernetes可引入组件的名称。正如其源自“Kubernetes Event-driven Autoscaling”的名称所示,它在Kubernetes上实现了基于事件的自动缩放。

2020年4月,CNCF(Cloud Native Computing Foundation)宣布将其纳入sandbox项目,并成为新闻头条。

KEDA 的使用场合是什么?

「Kubernetes事件驅動自動擴展」這個術語的源頭就是「事件驅動(Event-driven)」,它指的是根據事件來進行處理的機制,相信大家都很熟悉。

我們將以不定期收到大量訊息的網頁系統作為例子來解釋。

让我们考虑在Web服务器上搭建而不是使用事件驱动(Event-driven)。

当一直等待着随时到来的消息时,大部分时间都没有任何需要处理的内容,导致资源被浪费。而如果将浪费的资源最小化构建,一旦大量消息到来时可能无法处理完毕。

当消息队列为空时,不会执行任何操作;而当大量消息被放入队列中,我们需要根据消息数量并行处理(即事件驱动)。通过事件驱动,我们能够有效利用资源而不浪费。

对于这种类型的处理,在Azure中可以使用ServiceBus和Azure Functions,在AWS中可以使用SQS和Lambda等等。

在Kubernetes上实现此类事件驱动处理的工具是我们今天介绍的KEDA。

“KEDA的使用方法”

可以在Kubernetes上安装和使用KEDA。

请查看官方网站以获取更详细信息。

在浏览官方网站时,您可能会看到一个陌生的词“Scaler”,它是用于缩放的基本信息。Scaler是可扩展的规格,适用于多种服务和组件,并且在撰写本文时已支持以下服务。

当您阅读此信息时,您会理解KEDA并不依赖于特定的服务,而是可以广泛适用的。

当然,在Azure Kubernetes Service(AKS)中也可以使用。

    • ActiveMQ Artemis

 

    • Apache Kafka

 

    • AWS CloudWatch

 

    • AWS Kinesis Stream

 

    • AWS SQS Queue

 

    • Azure Blob Storage

 

    • Azure Event Hubs

 

    • Azure Log Analytics

 

    • Azure Monitor

 

    • Azure Service Bus

 

    • Azure Storage Queue

 

    • CPU

 

    • Cron

 

    • External

 

    • External Push

 

    • Google Cloud Platform‎ Pub/Sub

 

    • Huawei Cloudeye

 

    • IBM MQ

 

    • Liiklus Topic

 

    • Memory

 

    • Metrics API

 

    • MySQL

 

    • NATS Streaming

 

    • PostgreSQL

 

    • Prometheus

 

    • RabbitMQ Queue

 

    • Redis Lists

 

    Redis Streams

第五天的活动是由 @changeworld 主持的”新一代.NET 5有什么新特性”讲座。请继续享受。

广告
将在 10 秒后关闭
bannerAds