首页 > 解决方案 > Kubernetes 负载均衡如何消费队列消息(SQS 或其他)并将其传递给 pod?

问题描述

我计划使用AWS SQS从服务器接收消息,然后立即让Kubernetes 负载均衡器使用它们并将每条消息传递给其中一个 pod。

我最担心的是 AWS SQS 以何种方式触发负载均衡器。

这可能吗?

如果是,以什么方式?

标签: amazon-web-serviceskubernetesmessage-queueamazon-sqsazure-servicebus-queues

解决方案


要扩展 @Marcin 的评论:

Elastic Load Balancer 实施和 SQS 之间没有任何方向的集成。部分原因是,他们都实现了一个模式,这需要来自外部的触发器才能让他们做任何事情。

要使用来自 SQS 的消息,消费者需要ReceiveMessage使用API 调用主动轮询SQS 的工作。

为了让负载均衡器为流量提供服务,它需要来自外部的请求才能响应。

要在两个被动/被动服务之间进行集成,您需要一个主动组件。例如,您可以构建一组容器或一个 Lambda 函数。Lambda 可以通过 SQS 触发(后台 Lambda 将轮询 SQS),随后可以向您的 ALB 或您选择的任何负载均衡器发送请求。


推荐阅读