簡體   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