2 回答
TA贡献2039条经验 获得超8个赞
Google Cloud Functions 用于执行基于触发器(如 HTTP 或另一个 GCP 服务器到服务器触发器)的单一用途函数。你的 go 服务看起来更像是一个 HTTP 服务器,而不是一个单一的函数。
如果你想用 Cloud Functions 建立一个微服务架构,你要做的是创建一堆不同的函数,主要由 HTTP 触发(每个函数都会自动分配不同的 HTTP 地址),然后从你的应用程序中调用它们而不需要任何外部 HTTP 路由器。
如果您想拥有一个分布式微服务(每个服务共享相同的 URL,但在 URL 中具有不同的端点),您需要查看可以在其中部署服务器的Appengine 。您可以使用本教程开始使用 Google Appengine
TA贡献1798条经验 获得超3个赞
除了 PoWar 答案,我建议您使用 Cloud Run 而不是 App Engine。Cloud Run 在与 Cloud Functions 相同的底层基础架构上运行,并且许多功能相似。
此外,Cloud Run 使用容器,这是当前最流行的打包应用程序的最佳实践之一。您可以Dockerfile在文档中使用这样的标准,然后使用 docker 构建。或者 Cloud Build,如果你还没有安装 docker
gcloud builds submit -t gcr.io/PROJECT_ID/containerName
或者,如果您不想编写或自定义您的 alpha 功能,您甚至可以使用Dockerfile,这是基于 buildpack
gcloud alpha builds submit --pack=image=gcr.io/PROJECT_ID/containerName
然后在 Cloud Run 上部署您的映像
gcloud run deploy --image=gcr.io/PROJECT_ID/containerName --platform=managed --region=yourRegion myService
- 2 回答
- 0 关注
- 138 浏览
添加回答
举报
