基於 Go 語言構建企業級的 RESTful API 服務

文|掘金小冊

源|架構師小秘圈

現代軟件架構已經逐漸從單體架構轉向微服務架構,在微服務架構中服務間通信採用輕量級通信機制。對於輕量級通信的協議而言,通常基於 HTTP 和 RPC ,能讓服務間的通信變的標準化並且無狀態化。此外開發模式也越來越多的採用前後端分離的模式,在前後端分離的模式中,前後端通信一般是通過 HTTP 進行通信。

不管是微服務架構,還是前後端分離模式,都需要一個 HTTP API 服務器。而且在日後的開發生涯中可能需要構建很多個大大小小的 API 服務器,構建一個簡單的 API 服務器很簡單,網上有很多教程,但都是不成體系的,非常簡單的 hello world 程序,這些教程通常只是講解開發過程中的某個點,每個人的設計思路也都是不同,並沒有一個成系統,成體系的 Go 服務器開發教程可供參考,實際上構建一個企業級的 API 服務還有很多工作要做。

在構建 API 時,有一種構建風格叫 REST,它雖然調用性能不及 RPC,但維護性和擴展性更好,也更通用。由於本小冊不討論微服務之間的高頻調用場景, 而 REST 在實際開發中,能夠滿足絕大部分的需求場景,基於它的其他優勢,本小冊採用 REST 風格來構建 API 服務器。此外,在媒體類型上選擇了 JSON,因為它的內容更加緊湊,數據展現形式直觀易懂,開發測試都非常方便。REST + JSON,這也是 Go API 開發中很常用的組合。

基於 Go 語言構建企業級的 RESTful API 服務

筆者在近七年的服務器開發過程中,調研了很多 API 構建方式,這些構建方式各有優缺點,此外也構建了多個大型 API 服務器,通過這些調研、構建經驗以及開發過程中遇到的坑,筆者沉澱了一套 API 服務器的構建方法,在實際工作中也得到了充分的驗證。這裡希望通過小冊的形式給需要的朋友提供一些幫助和指引,尤其是剛接觸 Go 服務器開發沒多久,想早點進階為高手的同學。希望通過閱讀本小冊,既能讓你學會怎麼更好地去構建 API 開發過程中的各個功能點,也能收穫實用的構建方法和開發建議。

基於 Go 語言構建企業級的 RESTful API 服務

基於 Go 語言構建企業級的 RESTful API 服務

雷克斯 騰訊高級研發工程師,畢業後曾在 Red Hat、聯想集團任職,主要做後臺服務器的開發。在微服務、容器雲和後臺 API 服務器構建上有豐富的經驗,構建過 10萬+ Docker 容器的容器雲項目、百萬級 QPS 的 API 項目。

名人推薦

基於 Go 語言構建企業級的 RESTful API 服務

基於 Go 語言構建企業級的 RESTful API 服務

你會學到什麼

本小冊是一個實戰類的小冊,根據開發流程教讀者怎樣一步步構建一個企業級的 API 服務器。從開發準備到 API 設計,再到 API 實現、測試和部署,每一步都詳細介紹了構建技術和筆者的開發經驗和建議。通過 17 個 demo,最終構建出一個企業級的 API 服務器。通過本小冊的學習,你將學到如下知識點:

基於 Go 語言構建企業級的 RESTful API 服務

知識點很多,跟著小冊一節一節進行學習,你將從 Go 服務器開發的新手進階為老鳥。


分享到:


相關文章: