【Go API 开发实战】Go API 开发实战教程简介(1-7)
教程介紹
現代軟件架構已經逐漸從單體架構轉向微服務架構,在微服務架構中服務間通信采用輕量級通信機制。對于輕量級通信的協議而言,通常基于 HTTP 和 RPC ,能讓服務間的通信變的標準化并且無狀態化。此外開發模式也越來越多的采用前后端分離的模式,在前后端分離的模式中,前后端通信一般是通過 HTTP 進行通信。
不管是微服務架構,還是前后端分離模式,都需要一個 HTTP API 服務器。而且在日后的開發生涯中可能需要構建很多個大大小小的 API 服務器,所以很多時候做 Go 語言后臺開發其實就是做 API 開發。有很多種方法可以用來構建 API,很多企業構建 API 時,采用一種叫 REST 風格的方式來構建 API,它雖然調用性能不及 RPC,但維護性和擴展性更好,也更通用。由于本教程不討論微服務之間的高頻調用場景, 而 REST 在實際開發中,能夠滿足絕大部分的需求場景,基于它的其他優勢,本教程采用 REST 風格來構建 API 服務器。此外,在媒體類型上選擇了 JSON,因為它的內容更加緊湊,數據展現形式直觀易懂,開發測試都非常方便。REST + JSON,這也是 Go API 開發中很常用的組合。
構建一個簡單的 API 服務器很簡單,但構建一個生產就緒的 API 服務還有很多工作要做。所謂的生產就緒,至少需要滿足如下各方面:
1.需要讀取配置文件、記錄日志
2.需要連接數據庫
3.需要對數據庫做增刪改查等操作
4.需要自定義業務錯誤碼
5.需要進行 API 身份驗證
6.需要給 API 增加 Swagger 文檔
7.API 服務器需要滿足高穩定性,高性能的要求
8.API 需要做高可用
….
可以看到要構建一個可以運行在生產環境中的 API 服務器有許多工作要做。本教程希望花盡可能短的時間,來教初學者了解和學習 Go API 開發的所有環節和功能點。構建中需要用到很多 Go 包,筆者也根據經驗篩選出了一些非常優秀的 Go 包來使用,另外教程中很多地方也會附上筆者的開發經驗和建議,希望對讀者有一定的幫助。
你會學到什么
本教程是一個實戰類的教程,旨在讓初學者花盡可能短的時間,通過盡可能詳細的步驟,歷經 17 個 demo,最終一步步構建出一個生產級的 API 服務器。
從開發準備到 API 設計,再到 API 實現、測試和部署,每一步都詳細介紹了如何去構建。通過本教程的學習,你將學到如下知識點:
知識點很多,跟著教程一節一節進行學習,你將完整的學會如何用 Go 做 API 開發。
適宜人群
掌握一定 Go 語法基礎,零 Go 服務器研發經驗,想通過一個完整的實戰,來系統學習 Go 服務器開發的同學
有意從事 Go 服務器開發,但尚未入門或入門尚淺的同學
有過 Go 服務器開發經驗,但想了解某一部分構建方法的同學
你應該具備什么
基本的 Go 語言編程知識
基本的 Linux/Uinx 命令行知識
本教程主要面向初學者,希望能無償分享筆者的一些 API 研發經驗,如遇到一些不太合理的地方還請多多包涵 :-) ,歡迎指正交流。
本次發布只講解實戰系列的 1-7 節。
本系列文章轉載自公眾號:騰訊游戲存儲與計算技術 微信號: game_infra
總結
以上是生活随笔為你收集整理的【Go API 开发实战】Go API 开发实战教程简介(1-7)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Go API 开发实战 2】RESTf
- 下一篇: 【Go API 开发实战 7】基础 3: