您有一个Google Cloud项目Project1
,其中已启用App Engine并为您的旧应用程序提供服务。
您要使用其他编程语言来重建应用程序,因此需要一个具有自己单独的App Engine的单独项目(Project2
)。
您想在Project1
App Engine之前安装某种反向代理设备,以便逐渐将越来越多的流量路由到Project2
的App Engine。
实现此目标的最佳方法是什么?
Google Cloud Load Balancer似乎不适用于App Engine(仅适用于Google Compute Engine),因此我认为建立反向代理服务器(例如NginX)容器是最好的选择。
答案 0 :(得分:3)
根据您想要的组织方式,您可以通过将其部署为其他服务或现有服务的新版本来在同一项目中复制整个应用程序。例如,假设您有一个简单的Web应用程序两个服务cl_cte
和frontend
。 (假设它们都是用Python编写的)
要作为单独的服务进行部署,可以使用另一种语言(例如Node.js)创建应用程序的新版本。您可以将新服务部署为backend
和frontend-node
。
如果您不想这样做,可以用另一种语言重写应用程序,然后将其部署为现有服务的新版本。在“版本”部分中,您可以看到同一服务的版本,并且它们可以是不同的语言运行时。
无论哪种方式,您都可以使用“流量分割”功能来自定义和测试应用程序的实现。
通常来说,除非确实需要,否则应避免使用项目来隔离应用程序的不同变体和/或组件。 App Engine服务彼此之间的运行时可以互不相同,因此即使您以其他语言重新部署,供应整个新项目也几乎没有意义。