繁体   English   中英

谷歌发布订阅。 从 AppEngine 到 Kubernetes pod 以及从一个 Kubernetes pod 到另一个 Kubernetes pod 的通信

[英]Google PubSub. Communication From AppEngine to Kubernetes pod and from one Kubernetes pod to another Kubernetes pod

在这两种情况下如何发送和接收消息?

我们正在将我们的应用程序从 appengine 迁移到 kubernetes。 我们有两个以这种方式分布的微服务:

开发环境

  • 服务 1:在 Kubernetes pod(名为 1 的集群)上运行。 它在 AppEngine 上运行
  • 服务 2:在 Kubernetes pod(名为 1 的集群)上运行。 它在 AppEngine 上运行

问题是服务 1 不断向 AppEngine 上的服务 2 发送 pubsub 消息。 它应该将发布订阅消息发送到在 Kubernetes 上运行的服务 2

生产环境

  • 服务 1:在 AppEngine 上运行,但很快它将在 Kubernetes pod(名为 1 的集群)上运行
  • 服务 2:在 AppEngine 上运行,但很快它将在 Kubernetes pod(名为 1 的集群)上运行

在生产环境中,现在服务 1 和 2 通过 pubsub 进行通信。 哪个(以及以什么顺序)是开始将生产环境中的两个服务迁移到 Kubernetes pod 的最佳方式?

我正在考虑同时将服务 1 和 2 移动到 Kubernetes 并开始使用 http rest 在它们之间发送和接收消息(但我不确定。 我看到的另一个问题是推送端点需要 https 和我的 kubernetes 服务中的外部 ip 是 Z807921B3AE70092FACB88C

PubSub 消息被发送到一个主题。 该主题的每个侦听器(例如 GAE 服务 2 和 k8s 服务 2)都将收到发送的消息。

如果您想根据来源(GAE 和 k8s)区分消息,最简单的方法是创建另一个主题。 并且只在 k8s 服务中配置这个新主题。

但是,如果服务也这样做,我看不出共享 pubsub 主题可能是什么问题。

解决方案是:

1) 将 pubsub 订阅更改为 pull 类型

2)创建服务帐户凭据

3) 适配服务代码(现在在 Kubernetes 中运行),以便它实际拉取 pubsub 消息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM