Google cloud platform 为什么有两个酒吧/酒吧主题&;创建Cloud Composer环境时自动创建订阅

Google cloud platform 为什么有两个酒吧/酒吧主题&;创建Cloud Composer环境时自动创建订阅,google-cloud-platform,airflow,google-cloud-pubsub,google-cloud-composer,Google Cloud Platform,Airflow,Google Cloud Pubsub,Google Cloud Composer,我注意到,在创建cloud composer环境时,会自动创建两个发布/订阅主题和订阅,那么这里发布/订阅的需求是什么,composer的内部架构如何与发布/订阅相关 我需要这一概念上的澄清,因为我没有找到任何文档来解释这一点 我知道,cloud composer使用there发布/订阅与其Kubernetes引擎服务代理进行通信,但我的问题是,为什么它默认创建两个主题而不是一个,我在从cloud composer更改Kubernetes配置时也注意到了这一点(例如更改Kubernetes集群的

我注意到,在创建cloud composer环境时,会自动创建两个发布/订阅主题和订阅,那么这里发布/订阅的需求是什么,composer的内部架构如何与发布/订阅相关

我需要这一概念上的澄清,因为我没有找到任何文档来解释这一点

我知道,cloud composer使用there发布/订阅与其Kubernetes引擎服务代理进行通信,但我的问题是,为什么它默认创建两个主题而不是一个,我在从cloud composer更改Kubernetes配置时也注意到了这一点(例如更改Kubernetes集群的节点数)/Updated cluster values它再次为同一主题创建了两个其他主题和订阅,因此我想了解它在内部是如何工作的,为什么它在每次更新后创建新主题和订阅,为什么它不使用现有主题/订阅。此外,composer&Kubernetes引擎服务代理如何通过发布/订阅进行通信,是否自动部署了其他GCP组件,我想了解整个内部架构


还有一件事我想了解,GKE集群中用于Composer的功能性“airflow-redis-0”pod是什么?它是仅用于消息队列还是充当调度器和工作程序之间的通信?有没有办法检查/可视化(通过redis cli命令)redis pod的所有功能

提前感谢。

根据,Cloud Composer使用这些主题/订阅与其Kubernetes引擎服务代理进行通信,并依靠Cloud Pub/Sub的默认行为来管理消息

实现双向通信需要两个主题/订阅。如果您检查它们的名称,您会注意到其中一个是“composer代理到后端主题”,另一个是“composer后端到代理主题”。每次更新后,Composer环境都会重新启动,它无法使用现有的主题/订阅,因此会创建新的主题/订阅。GKE和Composer通过发布/订阅进行通信的内部方式没有公开的文档记录,但它还用于中继来自租户项目的数据,例如来自托管Web服务器的日志

您不应该删除这些订阅,因为这将影响Composer环境的功能

关于Redis,来自的这张图片非常清楚它的作用:

Composer使用Redis作为调度程序和工作程序之间的后端。Redis服务充当CeleryExecutor的消息代理,它是使用配置的,并每隔60秒将快照保存到一个持久磁盘,以防止容器重新启动时丢失消息()

您可以使用以下命令连接到
airflow-redis-0
吊舱内的
airflow-redis
容器:

kubectl exec -it airflow-redis-0 -c airflow-redis bash
然后在那里运行所需的redis cli。但是,不建议篡改Composer环境的深层架构组件。

根据,Cloud Composer使用这些主题/订阅与其Kubernetes引擎服务代理通信,并依赖Cloud Pub/Sub的默认行为来管理消息

实现双向通信需要两个主题/订阅。如果您检查它们的名称,您会注意到其中一个是“composer代理到后端主题”,另一个是“composer后端到代理主题”。每次更新后,Composer环境都会重新启动,它无法使用现有的主题/订阅,因此会创建新的主题/订阅。GKE和Composer通过发布/订阅进行通信的内部方式没有公开的文档记录,但它还用于中继来自租户项目的数据,例如来自托管Web服务器的日志

您不应该删除这些订阅,因为这将影响Composer环境的功能

关于Redis,来自的这张图片非常清楚它的作用:

Composer使用Redis作为调度程序和工作程序之间的后端。Redis服务充当CeleryExecutor的消息代理,它是使用配置的,并每隔60秒将快照保存到一个持久磁盘,以防止容器重新启动时丢失消息()

您可以使用以下命令连接到
airflow-redis-0
吊舱内的
airflow-redis
容器:

kubectl exec -it airflow-redis-0 -c airflow-redis bash

然后在那里运行所需的redis cli。但是,不建议篡改Composer环境的深层架构组件。

我理解这一点,但我的问题是,为什么默认情况下会创建两个主题而不是一个,我在从cloud Composer更改kubernetes配置时也注意到了这一点(例如更改kubernetes群集的节点数)/Updated cluster values再次创建了两个其他主题和订阅,因此我想了解为什么每次更新后都会创建新主题和订阅,以及composer和kubernetes引擎服务代理如何通过发布/订阅进行通信,这些是自动为同一台计算机部署的任何其他GCP组件吗?实现双向通信需要两个主题。如果您检查它们的名称,您会注意到其中一个是“composer代理到后端主题”,另一个是“composer后端到代理主题”。每次更新后,Composer环境都会重新启动,它无法使用现有的主题/订阅,因此会创建新的主题/订阅。GKE和Composer通过发布/订阅进行通信的内部方式没有公开的文档记录,但它还用于中继来自租户项目的数据,例如来自托管Web服务器的日志。我想了解的另一件事是,GKE集群中用于Composer的功能性“airflow-redis-0”pod是什么?它是仅用于消息队列还是充当调度器与w之间的通信