keda: Provide support for multiple triggers

Provide support for multiple triggers that act as an AND.

Use-Case

Queue processing that persists orders in the database.

As of today, we can autoscale based on message count but if our DB DTU is at 99% capacity we’ll only make it worse.

Specification

apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
  name: {scaled-object-name}
  labels:
    deploymentName: my-queue-worker
spec:
  scaleTargetRef:
    deploymentName: my-queue-worker
  triggers:
  - type: azure-servicebus
    metadata:
      queueName: functions-sbqueue
      queueLength: "5" # Optional. Subscription length target for HPA. Default: 5 messages
  - type: azure-monitor # Requested here: https://github.com/kedacore/keda/issues/155
    metadata:
      resourceUri: <uri>

Kudos to @jornbeyers for idea

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 17 (13 by maintainers)

Commits related to this issue

Most upvoted comments

Hi, is there any update on where this feature stands? Our use case is a service that consumes multiple queues

I would say that we just scale out if both criteria has met.

As far as I know we just add one instance every time based on the metric but you’re more thinking in terms of the HPA underneath it or?