1

我在 Go 中有两个 App Engine 项目,它们包含一个面向用户的应用程序。一个项目是标准环境项目,具有大部分功能,还为 React 前端静态包提供服务。第二个项目是一个灵活的环境项目,其特定目的是与第三方 API 通信并将大文件传输到第三方 API(这是一个灵活的环境项目 b/c,我们使用 urlfetch 遇到了大小限制)。

现在我正在部署应用程序,我遇到了来自前端的 api 请求的问题。在开发中,我们的前端节点服务器会将请求(例如 /api/project 和 /api/user)代理到在不同端口上运行的相应 App Engine 服务,但在生产中,我的标准环境项目位于https://my- project-std.appspot.com,而灵活的 env 项目位于https://my-project-flex.appspot.com之类的地方。

我使用带有 std env 项目的 dispatch.yaml 文件将 api 请求(例如 /api/project 和 /api/user)路由到适当的服务,但我不确定将请求路由到柔性环境的最佳方式服务(例如 /api/model)。我应该通过 std env 项目路由它们并重定向吗?设置反向代理?其他一些方法?

谢谢!

4

2 回答 2

1

我采用了反向代理方法,现在它的表现与我希望的一样。这篇博文对找到解决方案非常有帮助https://blog.semanticart.com/2013/11/11/a-proper-api-proxy-written-in-go/

于 2018-08-09T03:18:25.690 回答
0

您的服务的 dispatch.yaml 和 yaml 是什么样的?

您的意思是您在同一个项目中有 2 个服务(而不是 2 个单独的项目)?

如果是这样,你可以这样做

https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed

https://[SERVICE_ID]-dot-[MY_PROJECT_ID].appspot.com

于 2018-08-09T00:30:20.377 回答