我正在使用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
答案 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本地开发环境的一部分,可帮助访问您的远程服务,这些服务是生产环境使用的(如果需要)。