0

在与许多队列交互以处理后台任务的 Kubernetes 集群环境中。我是否需要为要使用的每个队列创建单独的可执行文件(以及因此 Docker 映像)?

假设我正在使用 KEDA 来触发定义为 Job 的 Docker 映像的运行。

我们正在从 WebJob/Azure Functions 环境迁移,其中多个队列消费函数可以存在于单个可执行文件中。

什么是最佳实践?

4

1 回答 1

0

对于 Kubernetes,在执行过程中高度分离工作负载是一种常见的做法。因此,消费者是它自己的部署或作业是有道理的。由于您已经有多个独立的队列,因此将消费者分开也是有意义的。例如,如果一个消费者手,或者需要重新启动或升级,则可以在不影响其他消费者的情况下完成。

不过,它并不要求您拥有单独的 Docker 映像。如果所有消费者都是相同的,除了一些配置值,比如端点。您可以定义和构建一个通用映像,并通过环境变量、配置映射或机密传递配置。

换句话说,在执行过程中,消费者分开是很常见的,但他们仍然可以共享相同的图像,只是在配置上有所不同

于 2021-01-19T17:00:46.483 回答