在GCP上部署分布式队列机制

时间:2019-07-14 08:38:49

标签: google-cloud-platform queue google-cloud-messaging priority-queue google-cloud-pubsub

背景

我有一个在Google Cloud上运行的系统。该系统建立在微服务架构上。应用程序通过队列相互通信。当前,我正在使用Azure存储队列,并且也希望将此托管服务移至GCP。

要求

必填:

  1. 最长处理时间-1秒至1小时。
  2. 将任务标记为已完成的确认机制。
  3. 可扩展的解决方案-应该支持每秒数千条消息的负载。
  4. 支持pull条消息。

很好玩:

  1. 处理优先级-一些任务队列比其他任务更重要。
  2. 托管解决方案-我更喜欢使用托管解决方案,而不是自己安装。

我检查过的解决方案

我已经检查了这些服务,但由于以下原因而拒绝了它:

  • Microsoft Azure存储队列-谷歌云之外。
  • Google Cloud PubSub-不满足强制性要求-处理时间限制为10分钟。
  • Google Cloud Task-似乎主要是为不适合我的应用程序的无服务器应用程序设计的。

我还检查了RabbitMQ解决方案,该解决方案似乎支持我的所有要求,除了“托管解决方案”之一。似乎GCP并未提供RabitMQ作为服务。因此,我必须将其部署到虚拟机中,并自行完成所有配置...

问题

说实话,看来我正在寻找的解决方案应该很普遍。没什么特别的。但是,我在这里描述的所有服务都有一些关键的缺点。

我在这里错过了哪些服务?

0 个答案:

没有答案