首页 > 解决方案 > 在 Google Cloud Run 上运行 Kafka 消费者

问题描述

我有一个大型应用程序,其中包含许多通过 Kafka 进行通信的微服务。现在它正在 GKE 上工作。

我们正在将 Kafka 迁移到 confluent.io,并且我们计划将一些微服务迁移到 Google Cloud Run(完全托管)。

但是,...看起来 Google Cloud Run(完全托管)不支持收听 kafka 事件,对吧?有计划支持吗?有解决方法吗?

编辑:

andres-s分享的这篇文章表明,您可以在 Anthos 中实现自己的云运行并将其连接到 confluent kafka。

在完全托管的 Google Cloud Run 服务中提供此选项会很棒。

但与此同时,问题是:是否可以在常规 GKE 集群(不是 Anthos)中实现它?

标签: apache-kafkagoogle-kubernetes-enginegoogle-cloud-run

解决方案


Cloud Run 只是 Knative SERVING。它是无状态的,并在收到事件时启动。因此,它不能真正订阅主题并拉取事件。

Knative Eventing 在本质上更具状态性,可以处理拉动并随后触发运行 Knative Serving 的 pod。理想情况下,它们一起使用可为您提供完整的无服务器体验。

好消息是,有一个“黑客”。您可以对 PubSub 执行 Kafka,然后对 Cloud Run执行 PubSub 。如果您喜欢冒险并且不介意 OSS 软件,那么 serverlesseventing.com 上有许多 Knative Eventing 教程。


推荐阅读