问题描述
我打算使用 AWS SQS 从服务器接收消息,然后立即让 Kubernetes 负载均衡器 使用它们并将每条消息传递给其中一个 Pod。 >
我最关心的是 AWS SQS 可以以何种方式触发负载均衡器。
这可以吗?
如果是,是什么方式?
解决方法
扩展@Marcin 的评论:
弹性负载均衡器实施与 SQS 之间没有任何方向的集成。部分原因是,他们都实现了一种模式,这需要来自外部的触发器才能做任何事情。
要使用来自 SQS 的消息,消费者需要使用 ReceiveMessage
API 调用主动轮询 SQS 的工作。
为了让负载平衡器为流量提供服务,需要来自外部的请求可以响应。
要在两个被动/反应服务之间进行集成,您需要在它们之间使用一个主动组件。例如,您可以构建一组容器或 Lambda 函数。 Lambda 可以通过 SQS 触发(在幕后 Lambda 将轮询 SQS),随后可以向您的 ALB 或您选择的任何负载均衡器发送请求。