是否可以在云运行服务中暴露5001(HTTP)和5672(TCP)端口?

问题描述 投票:0回答:1

我正在 Google 云中建立一个解决方案。我需要一个 RabbitMQ 队列代理和一个用 .NET Core 2.2 开发的 WebAPI。我的想法是让 WebAPI 连接到 RabbitMQ 以接收消息。

我已将 RabbitMQ 与 GKE 一起安装在使用 RabbitMQ Cluster 的 kubernetes 集群中,该集群是在 Marketplace 中获得的。我已经在Cloud Run中安装了WebAPI。这两个组件都是以标准的方式提出的,没有任何特殊性的发布。

WebAPI使用5001端口进行HTTP流量,显然,订阅RabbitMQ接收消息的监听器使用5672端口。

问题是,将 WebAPI 上传到 Cloud Run 中并不奏效,显然是因为 Cloud Run 只为 HTTP 流量暴露一个端口,因此另一个端口 5672 被阻止。

通过将相同的 WebAPI 挂载到 kubernetes 上的容器中,它确实暴露了 5001 和 5672 端口,并且工作正常。

能否将WebAPI发布到Cloud Run中,除了暴露5001端口用于HTTP流量外,还暴露5672端口(在这种情况下打开TCP连接),从而能够连接到RabbitMQ?

google-cloud-platform rabbitmq google-cloud-run webapi
1个回答
0
投票

我有一个想法,让WebAPI连接到RabbitMQ来接收消息。

Cloud Run(完全托管)总是通过 HTTPS 将服务暴露在单一端口(在 :443 上)。

© www.soinside.com 2019 - 2024. All rights reserved.