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)
}