谷歌应用程序引擎api_server vs模块

时间:2018-07-11 15:35:56

标签: google-app-engine go

我正在使用Google Appengine开发go api后端。当我在本地运行项目时,输出显示:

INFO 2018-07-11 12:31:17,502 devappserver2.py:120]跳过SDK更新检查。
INFO 2018-07-11 12:31:17,576 api_server.py:274]在以下位置启动API服务器:http://localhost:38628
INFO 2018-07-11 12:31:17,588 dispatcher.py:270]启动模块“默认”运行在:http://localhost:38629

两个端点“ API服务器”和“模块默认”的目的是什么? 我的初始化就是这样:

Request

2 个答案:

答案 0 :(得分:1)

默认模块是进入应用程序的默认路由。您可以在app.yaml文件中检查路由的行为,以在“处理程序”部分中查看/更改请求的路由方式。

请查看how requests are routed上的文档以获取更多详细信息。

答案 1 :(得分:1)

那两个“端点”,或者说服务器,服务于不同的目的。

首先了解一些背景

“ App Engine应用由包含一个或多个服务的单个应用资源组成。” source)注意:服务以前称为“模块”。 / p>

因此,一个应用程序包含一个或多个服务(或模块)。如果您未在应用配置中指定服务,则将使用默认服务。

此行:

Starting module "default" running at: http://localhost:38629

已启动一个将提供默认服务(或模块)的Web服务器,这是您将处理程序注册到的Web服务器("/signup""/whitelist"等)。

另一个服务器:

Starting API server at: http://localhost:38628

启动您不直接使用的API服务器。它是App Engine特定的服务器,充当代理,因此本地App Engine环境可以通过HTTP访问远程App Engine服务(例如Memcache,Datastore)。该API服务器使用远程API协议进行通信,并且本地开发环境使用HTTP连接到它。

您无需担心此API服务器,也不需要对其进行配置或与之交互。它是App Engine本地开发环境的一部分,可帮助访问您的远程服务,这些服务是生产环境使用的(如果需要)。