Apache Kafka
Keda based Message Queue Trigger for Apache Kafka
This is a new feature getting released in 1.11.
Message queue trigger integration with KEDA has enabled autoscaling of trigger handler. Now, there are two kinds of message queue triggers:
Message queue trigger kind can be specified using mqtkind
flag.
By default, mqtkind
is set to fission
which creates regular message queue trigger.
To create message queue trigger of kind keda one must specify mqtkind=keda
.
mqtkind=keda
and add all relevant parameters.
These parameters are different for each message queue and hence are encapsulated in a metadata field and follow a key-value format.
As soon as you create the MQ Trigger, Fission creates a ScaledObject and a consumer deployment object which is referenced by ScaledObject.
The ScaledObject is a Keda’s way of encapsulating the consumer deployment and all relevant information for connecting to an event source!
Keda goes ahead and creates a HPA for the deployment and scales down the deployment to zero.To enable integration set the value mqt_keda.enabled
to true
while installing Fission with helm chart.
When you create a message queue trigger of kind keda, it creates a ScaledObject and a TriggerAuthentication. The ScaledObjects represent the desired mapping between an event source (e.g. Apache Kafka) and the Kubernetes deployment. A ScaledObject may also reference a TriggerAuthentication which contains the authentication configuration or secrets to monitor the event source. For successful creation of these objects, user should specify the following fields while creating a message queue trigger.
--metadata key1=value1 --metadata key2=value2
Keda based Message Queue Trigger for Apache Kafka
Keda based Message Queue Trigger for AWS SQS
Keda based Message Queue Trigger for AWS Kinesis
Keda based Message Queue Trigger for NATS Streaming
Keda based Message Queue Trigger for Redis