在此article中,Google描述了在App Engine Flex中对Node.js应用程序的全局部署。
此图片来自文章。
根据我的理解,问题是不可能的,原因有两个。
无法访问GCLB中的跨项目资源来创建bakend服务。
无法从GAE Flex看到实例组来创建bakend服务。
我的第一个想法是通过运行在单独项目每个区域中的计算引擎实例上的nginx代理所有请求。
我该怎么做?
感谢您的帮助。
答案 0 :(得分:1)
正如您所提到的,该图的问题在于,尽管App Engine Flex实例实际上在您的项目中运行,但是它们对您不可见,并且您不能将它们用作全局负载均衡器的后端。确实,此图是错误的,不能按原样实现。我已请求文档更新以更正此问题。
您也提到过,一种解决方法是通过在同一区域中运行的Compute Engine VM将请求代理到App Engine。但这并不是最佳选择,并且可能会引入单点故障。
由于App Engine Flex实际上在VM上运行Docker容器,因此您可以使用Google Kubernetes Engine实现类似的设置,其优点是,每个区域都可以在同一项目中运行一个集群。