Golang學習-第三篇 認識Web架構

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

序言

作為一個Web開發人員,相信對架構並不陌生。那麼什麼是Web架構呢?我們學習的語言中有哪些架構呢?帶著這兩個疑問,來走進我們今天要寫的內容。

Golang學習-第一篇 Golang的簡單介紹及Windows環境下安裝、部署
Golang學習-第二篇 搭建一個簡單的Go Web伺服器

本文

什麼是Web架構?

Web application framework,Web應用程式框架(Web架構),用來支援動態網站、網路應用程式及網路服務的開發。
Web應用程式框架有助於減輕網頁開發時共通性活動的工作負載,例如許多架構提供資料庫提供者、標準樣板以及會話管理等,可提升代碼的可再用性。

認識Go語言中的架構

Web架構,特別是一個好的Web架構,讓我們在開發項目的過程中會減少很多的麻煩。不過,作為一個Golang新手,記得一定不能被架構給束縛住,Go的基礎一定要學好。當然這不是我們今天討論的對象。
Golang中的Web架構有很多,對於效能對比,這裡我不作特別的說明,如果各位有興趣的話可以Google一下某些大牛的測試。如果自己有能力也可以自己做一個測試並寫出一份測試報告。今天我們這裡就簡單介紹幾個目前大家用的比較多的架構。
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如則項目運行成功


瀏覽器輸入http://localhost:8080 如則訪問成功!

beego具體使用請訪問beego官網查看文檔

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.