首页 > 解决方案 > 当 GCP 发布/订阅中的作业数量过多时初始化新服务

问题描述

我正在 GCP 上开展一个项目,我需要创建一个像负载均衡器一样工作的系统,但负载是发布/订阅队列中的项目数。

这里有更多细节:

  1. 我有一个基于 pub/sub 的消息队列。
  2. 很多消息都发布到这个问题上,我有一个使用它们的服务。
  3. 处理队列中的每个项目需要几个小时。
  4. 当队列中的项目数变得非常大时,我想启动一个新服务(一个 docker 映像)(比如我想在队列中的项目数超过 10 个项目时启动一个新服务,并在队列中的项目数超过 20 以此类推)并在队列中的项目数减少时关闭服务(例如,如果队列中的项目数低于 20,则关闭所有服务并只有 2 项服务上线)

现在我的问题是:

  1. 我怎样才能做到这一点?
  2. kubernties 是一个好的解决方案吗?如果是,我在哪里可以找到有关它的更多信息。
  3. 我可以通过 pub/sub 来实现吗?如果是,我在哪里可以找到信息?

标签: kubernetesgoogle-cloud-platformgoogle-kubernetes-engine

解决方案


我有类似的要求(我正在努力解决)。我建议您查看基于外部堆栈驱动程序监控指标的水平 pod 自动缩放器,看看它是否能满足您的需求。这个过程在这里讨论:

https://cloudplatform.googleblog.com/2018/05/Beyond-CPU-horizo​​ntal-pod-autoscaling-comes-to-Google-Kubernetes-Engine.html

和这里:

https://cloud.google.com/kubernetes-engine/docs/tutorials/external-metrics-autoscaling


推荐阅读