Go語言實戰流媒體視訊網站

weixin_33924312發表於2018-10-22

第1章 課程介紹

介紹這門課程大綱,技術堆疊以及環境

1-1 prestudy

第2章 一個例子瞭解golang工具鏈

通過一個簡單的webservice具體從golang的工具鏈,到test,全面介紹golang在工程專案裡需要掌握的知識點。

2-1 一個例子瞭解golang常用工具鏈

2-2 golang專案中test的寫法

2-3 golang專案中benchmark的寫法

2-4 章節總結

第3章 流媒體網站架構以及API模組的實現

本章通過實戰演練,從網站的整體架構設計,到服務劃分,資料庫設計,到api模組的實現,全面講述golang對webservice的實現以及程式碼分層架構的思想,同時輔以test cases的全程編寫與指導,全面瞭解工程化golang專案的實現。

3-1 流媒體網站整體介紹與架構梳理

3-2 api設計與架構

3-3 api實現之詳細設計(上)

3-4 api實現之詳細設計(中)

3-5 api實現之詳細設計(下)

3-6 api之http handler層

3-7 api之資料庫層設計

3-8 api之資料庫層實現_資料庫連線

3-9 api之資料庫層實現_實現User

3-10 api之資料庫層實現_編寫User Test Case

3-11 api之資料庫層實現_User部分程式碼優化

3-12 api之資料庫層實現_實現和驗證Video

3-13 api之資料庫層實現_實現Comments

3-14 api之資料庫層實現_Comments Test Case

3-15 api之session處理與實現(上)

3-16 api之session處理與實現(下)

3-17 api之http middleware的實現與handler收尾(上)

3-18 api之http middleware的實現與handler收尾(下)

第4章 stream模組

通過stream server的實現過程,著重講述通過golang實現流式播放,上傳檔案,以及利用channel實現流控等實用知識點,進一步加深對golang的掌握。

4-1 stream server

4-2 streaming的架構搭建

4-3 token bucket

4-4 流控模組的實現

4-5 在http middleware中嵌入流控

4-6 streamHandler實現

4-7 驗證streamHandler

4-8 uploadHandler實現

4-9 驗證uploadHandler

第5章 scheduler模組

通過對生產者消費者模型在scheduler中的實現,全面瞭解golang是如何處理併發場景,以及如何在併發場景下通過channel實現訊息同步。

5-1 scheduler介紹

5-2 程式碼架構搭建

5-3 runner的生產消費者模型實現

5-4 runner的使用與測試

5-5 task示例的實現

5-6 timer的實現

5-7 api實現以及scheduler完成

第6章 前端服務和模版引擎渲染

講述如何使用golang的模版引擎來渲染html檔案,如何通過原生proxy和api兩種模式實現後端服務介面透傳並避免跨域訪問,以及整個前臺在實現業務上的js邏輯程式碼。

6-1 大前端和golang模版引擎介紹

6-2 前端程式碼架構搭建

6-3 靜態頁面渲染

6-4 build指令碼和homeHandler

6-5 userHomeHandler

6-6 api透傳模組實現

6-7 proxy轉發的實現

6-8 UI部分的預覽

6-9 API service補全與講解

6-10 UI之html講解

6-11 js部分實現

第7章 網站上雲

通過對網站部分架構的改造和程式碼重構,使之更符合cloud native架構,輔以阿里雲端計算儲存網路等服務,最終實現網站上雲,打通網站上線最後一公里。

7-1 雲原生講解

7-2 雲端儲存改造之OSS方案分析

7-3 雲端儲存改造之OSS適配

7-4 公共配置實現

7-5 用vendor處理公共配置包

7-6 SLB講解與配置

7-7 SLB之新增session容錯

7-8 ECS雲主機和安全組配置

7-9 scheduler的改造

7-10 部署指令碼以及db初始化

7-11 部署演示以及完成效果展示

7-12 課程總結(回顧,延伸和優化)

下載地址:http://www.feixueteam.net/thread-1357-1-1.html

相關文章