Go语言提供了对Web编程的支持,自问世以来,Go语言在编写Web应用以及as-a-service system服务系统方便就受到了热烈追捧。
本文将使用Go语言构建Web应用
在开发大规模Web应用方面,Go语言提供了一种不同于现有语言和平台但有切实可行的方案。大规模Web应用通常需要具备以下特质:可扩展、模块化、可维护、高性能。
可扩展Scalable意味着应用的管理者应该能够简单、快速提升应用的性能来处理更多请求。有两种方式可以对性能进行扩展:
1.垂直扩展vertical scaling,提升单台设备的CPU数量或者性能;
2.水平扩展horizontal scaling,通过增加计算机数量来提升性能
因为Go拥有非常优异的并发编程支持,在垂直扩展方面:一个Go Web应用只需要使用一个操作系统线程OS thread,就可以运行数十万个goroutine
跟其他Web应用一样,Go也可以通过多个Go Web应用之上代理来进行水平扩展。
运行 go run server.go
访问浏览器localhost:8080
package main
import (
"fmt"
"net/http"
)
func handler(writer http.ResponseWriter, request *http.Request) {
fmt.Fprintf(writer, "Hello world ")
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}