运行 没有 HTTP 端点的服务

Run services without an HTTP endpoint

我们有一些服务只监听 Rabbit MQ 队列,而且这些服务没有 HTTP 端点。计划可以 运行 GCP Cloud 运行?

中的那种服务

我们不想将队列更改为 GCP Pub/Sub。我们只是想要一个容器 运行 始终具有 1 CPU 和 1 GB RAM。如果我们现在启动一个服务,在那里监听一个队列并且没有收到任何 HTTP 请求,GCP 将分配的资源扩展到几乎没有,所以该服务无法做任何工作。

所以,我已经做的是云 运行 服务获取 HTTP 请求,运行 RabbitMQ 侦听器并在 14 分 50 秒后停止它并回答 HTTP CODE 200(我设置CLoud 运行 超时到 15 分钟)。

然后,我配置了一个 Cloud Scheduler,没有重试策略,每 15 分钟调用一次我的服务。

这是一种变通方法,但我不能建议采用托管、按用量付费和伪全职的方式!

注:云运行超时即将延长至3600s(1H)

编辑

查看 App Engine Flex。它是无服务器的,可扩展到 1,并且每周至少重启一次以更新底层服务器。您谈到了 Cloud 运行,我很关注它!!

您可以 运行 一个容器(自定义 运行 时间)。同云运行,又,略有不同。例如,在容器启动时,开始监听你的 RabbitMQ,Kibana 处理 API 请求

所以,试试吧!