https://cloud.google.com/appengine/docs/go/users/
我在这里看到他们没有指定使用任何路由器…:https : //cloud.google.com/appengine/docs/go/config/appconfig
在与Golang一起使用的Google Cloud中,它表示要在中指定每个处理程序app.yaml。这是否意味着我们不应该使用第三方路由器来获得更好的性能?我想要大猩猩Mux作为路由器…如果我将其他路由器用于Google App Engine Golang App,它将如何工作?
app.yaml
Mux
请告诉我。谢谢!
您可以将Gorilla Mux与App Engine一起使用。这是如何做:
在app.yaml的handlers部分的末尾,添加一个脚本处理程序,该脚本处理程序将所有路径路由到Go应用程序:
application: myapp version: 1 runtime: go api_version: go1 handlers: - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /.* script: _go_app
该_go_app脚本是App Engine编译的Go程序。该模式/.*匹配所有路径。
_go_app
/.*
App Engine生成的主要函数将所有请求分配到DefaultServeMux。
在init()函数中,创建并配置Gorilla Router。向DefaultServeMux注册Gorilla路由器以处理所有路径:
func init() { r := mux.NewRouter() r.HandleFunc("/", homeHandler) // The path "/" matches everything not matched by some other path. http.Handle("/", r) }