是否可以在 SQS 中获取消息总数?

问题描述

我看到有 2 个单独的指标 ApproximateNumberOfMessagesVisibleApproximateNumberOfMessagesNotVisible

使用 number of messages visible 会导致处理 Pod 在从队列中提取消息后立即触发终止,因为它们不再可见。如果我使用不可见的消息数量,则不会按比例增加。

我正在尝试使用水平 Pod 自动缩放器和来自 SQS 的外部指标来扩展 kubernetes 服务。这是模板外部指标:

apiVersion: metrics.aws/v1alpha1
kind: ExternalMetric
metadata:
  name: metric-name
spec:
  name: metric-name
  queries:
    - id: metric_name
      metricStat:
        metric:
          namespace: "AWS/SQS"
          metricName: "ApproximateNumberOfMessagesVisible"
          dimensions:
            - name: QueueName
              value: "queue_name"
        period: 60
        stat: Average
        unit: Count
      returnData: true

这是 HPA 模板:

kind: HorizontalPodAutoscaler
apiVersion: autoscaling/v2beta1
metadata:
  name: hpa-name
spec:
  scaleTargetRef:
    apiVersion: apps/v1beta1
    kind: Deployment
    name: deployment-name
  minReplicas: 1
  maxReplicas: 50
  metrics:
  - type: External
    external:
      metricName: metric-name
      targetAverageValue: 1

如果我可以定义另一个自定义指标,即这两个指标的总和,问题将得到解决,我还能如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)