
序言
作為一個Web開發人員,相信對架構并不陌生。那麼什麼是Web架構呢?我們學習的語言中有哪些架構呢?帶着這兩個疑問,來走進我們今天要寫的内容。
正文
什麼是Web架構?
Web application framework,Web應用架構(Web架構),用來支援動态網站、網絡應用程式及網絡服務的開發。
Web應用架構有助于減輕網頁開發時共通性活動的工作負荷,例如許多架構提供資料庫通路接口、标準樣闆以及會話管理等,可提升代碼的可再用性。
認識Go語言中的架構
Web架構,特别是一個好的Web架構,讓我們在開發項目的過程中會減少很多的麻煩。不過,作為一個Golang新手,記得一定不能被架構給束縛住,Go的基礎一定要學好。當然這不是我們今天讨論的對象。
Golang中的Web架構有很多,對于性能對比,這裡我不作特别的說明,如果各位有興趣的話可以谷歌一下某些大牛的測試。如果自己有能力也可以自己做一個測試并寫出一份測試報告。今天我們這裡就簡單介紹幾個目前大家用的比較多的架構。
beego
Martini
gin
revel
作為一名Golang新手,本人用的第一個架構就是beego,選擇她的主要原因就是簡單、易上手、文檔全面。下面我們就簡單的來說一下beego架構。
beego架構的簡介及搭建
beego簡介
beego 是一個快速開發 Go 應用的 HTTP 架構,他可以用來快速開發 API、Web 及後端服務等各種應用,是一個 RESTful 的架構,主要設計靈感來源于 tornado、sinatra 和 flask 這三個架構,但是結合了 Go 本身的一些特性(interface、struct 嵌入等)而設計的一個架構
beego的架構、執行邏輯
beego架構圖
beego執行邏輯圖
beego架構的特性
簡單化
RESTful 支援、MVC 模型,可以使用 bee 工具快速地開發應用,包括監控代碼修改進行熱編譯、自動化測試代碼以及自動化打包部署。
智能化
支援智能路由、智能監控,可以監控 QPS、記憶體消耗、CPU 使用,以及 goroutine 的運作狀況,讓您的線上應用盡在掌握。
子產品化
beego 内置了強大的子產品,包括 Session、緩存操作、日志記錄、配置解析、性能監控、上下文操作、ORM 子產品、請求模拟等強大的子產品,足以支撐你任何的應用。
高性能
beego 采用了 Go 原生的 http 包來處理請求,goroutine 的并發效率足以應付大流量的 Web 應用和 API 應用,目前已經應用于大量高并發的産品中。
beego的安裝
go get github.com/astaxie/beego
bee工具安裝
bee 工具是一個為了協助快速開發 beego 項目而建立的項目,通過 bee 您可以很容易的進行 beego 項目的建立、熱編譯、開發、測試、和部署。
go get github.com/beego/bee
安裝完之後,bee 可執行檔案預設存放在 $GOPATH/bin 裡面,是以您需要把 $GOPATH/bin 添加到您的環境變量中,才可以進行下一步。
以上兩個安裝完成後,那麼beego環境搭建基本完成了。我們可以建立一個簡單的項目來運作一下。
進入cmd指令,選擇您的go工作目錄,執行 bee new myfirstproject 則 myfirstproject項目建立成功
執行 bee run myfirstproject 運作myfirstproject如上圖則項目運作成功
beego具體使用請通路beego官網檢視文檔
有疑問加站長微信聯系(非本文作者)