App Engine标准环境与生产环境中的灵活环境项目之间的路由

时间:2018-08-08 23:46:37

标签: google-app-engine go app-engine-flexible google-app-engine-go

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

我采用了反向代理方法,现在它的表现符合我的期望。这篇博客文章对达成解决方案https://blog.semanticart.com/2013/11/11/a-proper-api-proxy-written-in-go/

很有帮助。

答案 1 :(得分: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