Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 两个(或多个)Google应用程序引擎项目之间的反向代理_Google App Engine_Reverse Proxy_Legacy - Fatal编程技术网

Google app engine 两个(或多个)Google应用程序引擎项目之间的反向代理

Google app engine 两个(或多个)Google应用程序引擎项目之间的反向代理,google-app-engine,reverse-proxy,legacy,Google App Engine,Reverse Proxy,Legacy,您有一个谷歌云项目Project1,启用了应用程序引擎并为您的遗留应用程序提供服务 您希望使用不同的编程语言重新构建应用程序,因此需要一个单独的项目(Project2)及其单独的应用程序引擎 您希望在Project1应用程序引擎前面安装某种反向代理设备,以便逐渐将越来越多的流量路由到Project2的应用程序引擎 实现这一目标的最佳方式是什么 Google Cloud Load Balancer似乎不适用于App Engine(仅适用于Google Compute Engine),因此我认为建立

您有一个谷歌云项目
Project1
,启用了应用程序引擎并为您的遗留应用程序提供服务

您希望使用不同的编程语言重新构建应用程序,因此需要一个单独的项目(
Project2
)及其单独的应用程序引擎

您希望在
Project1
应用程序引擎前面安装某种反向代理设备,以便逐渐将越来越多的流量路由到
Project2
的应用程序引擎

实现这一目标的最佳方式是什么


Google Cloud Load Balancer似乎不适用于App Engine(仅适用于Google Compute Engine),因此我认为建立反向代理服务器(如NginX)容器是最好的选择。

取决于您希望如何组织,您可以在同一项目中复制整个应用程序,只需将其部署为不同的服务或现有服务的新版本即可。例如,假设对于一个简单的web应用程序,您有两个服务
前端
后端
。(假设它们都是用Python编写的)

要作为单独的服务进行部署,您可以使用不同的语言(如Node.js)创建应用程序的新版本。您可以将新服务部署为
前端节点
后端节点

如果不想这样做,可以用不同的语言重写应用程序,然后作为现有服务的新版本进行部署。在“版本”部分,您可以看到相同服务的版本,它们可以是不同的语言运行时

无论哪种方式,您都可以使用“分割流量”功能来定制和测试应用程序的实现


一般来说,除非您确实需要,否则您应该避免使用项目来隔离应用程序的不同变体和/或组件。应用程序引擎服务可以是彼此不同的运行时,因此,即使您使用不同的语言重新部署,也几乎没有必要提供一个全新的项目。

取决于您希望如何组织,您可以在同一项目中复制整个应用程序,只需将其部署为不同的服务或现有服务的新版本即可。例如,假设对于一个简单的web应用程序,您有两个服务
前端
后端
。(假设它们都是用Python编写的)

要作为单独的服务进行部署,您可以使用不同的语言(如Node.js)创建应用程序的新版本。您可以将新服务部署为
前端节点
后端节点

如果不想这样做,可以用不同的语言重写应用程序,然后作为现有服务的新版本进行部署。在“版本”部分,您可以看到相同服务的版本,它们可以是不同的语言运行时

无论哪种方式,您都可以使用“分割流量”功能来定制和测试应用程序的实现


一般来说,除非您确实需要,否则您应该避免使用项目来隔离应用程序的不同变体和/或组件。App Engine服务可以是彼此不同的运行时,因此,即使您使用不同的语言重新部署,也几乎没有必要提供一个全新的项目。

您不能使用App Engine中内置的trafficsplit吗?我只是不确定你是否可以在一个应用引擎项目中管理两个不同的运行时。你不能使用内置在应用引擎中的trafficsplit吗?我只是不确定是否可以在一个应用程序引擎项目中管理两个不同的运行时。