1. 程式人生 > >Go語言實戰抽獎系統-2018年M課網

Go語言實戰抽獎系統-2018年M課網

〖課程介紹〗:
        抽獎系統屬於典型的高併發和高效能的系統,同時,業務需求複雜多變,對系統的靈活性和穩定性要求同樣非常高。本課程先為大家剖析多種抽獎活動的共性和特性,再設計和開發抽獎大轉盤系統的後臺和介面。從基本功能的開發到使用redis步步優化,以及後續的策略對比,通過壓力測試,讓小夥伴直觀的瞭解不同的設定導致的的效能差異,探究效能影響的關鍵因素。通過這門課程的學習,可以對系統的效能、併發、靈活、可靠等方面有更多的理解和掌握,迅速提升,達到中高階工程師的水平!

〖課程目錄〗:
        第1章 課程介紹


        課程內容的整體介紹以及學習建議。
                1-1 Go抽獎系統導學

        第2章 6種抽獎活動來一遍
        看書不如動手,本章將從年會抽獎、彩票刮獎、微信搖一搖、支付寶集福卡、微信搶紅包、抽獎大轉盤6種抽獎活動的實現出發,讓小夥伴切身的體驗下如何實現不同的抽獎活動,這些活動實現的差異和難點在哪,並示範用多種方法(互斥鎖、atomic、sync.Map等等)解決併發安全問題。...

                2-1 年會抽獎_實現分析
                2-2 年會抽獎基本功能實現
                2-3 編寫web單元測試和併發安全問題
                2-4 用互斥鎖解決併發安全問題

                2-5 彩票_實現分析
                2-6 刮刮樂和雙色球
                2-7 微信搖一搖_實現分析
                2-8 微信搖一搖實現(上)
                2-9 微信搖一搖實現(下)
                2-10 bug修復和壓測
                2-11 支付寶集福卡_實現分析
                2-12 支付寶集福卡實現
                2-13 微博搶紅包_實現分析
                2-14 實現發紅包
                2-15 實現搶紅包
                2-16 均衡問題和sync.Map解決異常
                2-17 改用chan的方式解決併發安全問題
                2-18 再次壓測驗證和優化改造
                2-19 抽獎大轉盤_實現分析
                2-20 抽獎大轉盤初步實現
                2-21 sync.Mutex和atomic改造效能對比
                2-22 六種抽獎活動總結

        第3章 系統設計和架構設計
        本章對抽獎系統和架構進行詳細的設計。總結前面的開發經驗,從需求分析開始入手,整理需求,提煉功能,分析完善使用者操作和業務流程、資料庫設計、快取設計要點。
                3-1 需求整理和提煉
                3-2 使用者操作和業務流程
                3-3 資料庫設計
                3-4 快取設計
                3-5 系統架構設計
                3-6 系統設計和架構設計總結

        第4章 專案框架與核心程式碼
        本章開始動手使用iris+xorm先把專案框架搭建起來,並且把基礎的核心程式碼(dao,services,comm,使用者登入、退出等)完成,為後續的功能開發做基礎的準備。
                4-1 專案框架搭建
                4-2 資料模型的生成
                4-3 核心的dao和service類
                4-4 定義dao
                4-5 定義service
                4-6 定義資料庫和redis配置資訊
                4-7 建立資料庫例項及其要點
                4-8 建立redis例項及其要點
                4-9 利用iris建立web站點
                4-10 專案配置和通用方法
                4-11 web站點初始化構建
                4-12 實現IndexController
                4-13 完善路由和main.go檔案
                4-14 登入和退出:安全值校驗和防篡改

        第5章 後臺功能開發
        一個視覺化的管理後臺可以更好的幫助產品運營來自助操作,本章將實現相關功能並完成抽獎活動的定製規則設定。
                5-1 後臺功能開發介紹
                5-2 頁面模板和AdminController
                5-3 獎品管理實現(上)
                5-4 獎品管理實現(中)
                5-5 獎品管理實現(下)
                5-6 優惠券管理實現(上)
                5-7 優惠券管理實現(下)
                5-8 中獎記錄管理
                5-9 使用者管理

        5-10 IP黑名單管理
        第6章 基於mysql的抽獎功能開發
        本章將先完成後端抽獎介面的實現,完成抽獎業務邏輯和資料流程的開發。
                6-1 抽獎介面開發細節分析
                6-2 使用者併發操作的鎖
                6-3 驗證使用者、IP今日參與次數(上)
                6-4 驗證使用者、IP今日參與次數(下)
                6-5 使用者、IP黑名單的處理
                6-6 抽獎的實現
                6-7 發獎的實現
                6-8 中獎記錄和返回結果

        第7章 使用redis快取優化
        本章引入redis來優化整個系統,減輕對mysql的依賴,提高抽獎介面的效能。
                7-1 分析_獎品資料全量快取
                7-2 實現_獎品資料全量快取(上)
                7-3 實現_獎品資料全量快取(下)
                7-4 分析_單個使用者資料部分快取
                7-5 實現_單個使用者資料部分快取
                7-6 分析_IP黑名單資料快取
                7-7 實現_IP黑名單資料快取
                7-8 優化IP今日抽獎次數
                7-9 優化使用者今日抽獎次數
                7-10 使用者今日抽獎次數(上)
                7-11 使用者今日抽獎次數(下)
                7-12 為什麼要使用獎品池
                7-13 初步使用獎品池
                7-14 分析_優惠券的全量快取
                7-15 實現_優惠券的全量快取(上)
                7-16 實現_優惠券的全量快取(下)
                7-17 使用redis優化總結

        第8章 獎品池以及發獎計劃的實現
        本章實現兩個基礎服務功能(更新發獎計劃,自動填充資源池),來完成獎品的發獎計劃資料維護,保證可以合理的把獎品填充到獎品池中。
                8-1 發獎計劃設計分析
                8-2 實現發獎計劃(上)
                8-3 實現發獎計劃(中)
                8-4 實現發獎計劃(下)
                8-5 自動填充獎品池分析
                8-6 實現獎品池(上)
                8-7 實現獎品池(下)
                8-8 總結髮獎計劃和獎品池

        第9章 完整性演示以及更多總結
        實現前端頁面的大轉盤效果,完整的演示最終的效果。通過不同的設定以及測試方法,利用壓力測試工具對系統性能進行分析,深入瞭解業務邏輯以及技術實現的細節,對系統性能的影響,明白時間消耗的關鍵點。而更多的思考和總結,讓抽獎類活動的有更多玩法。 ...
                9-1 前端大轉盤分析
                9-2 前端大轉盤效果實現
                9-3 優化獎品設定分析
                9-4 優化發放獎品分析
                9-5 再來一次壓力測試吧
                9-6 壓力測試
                9-7 更多運營策略

        第10章 引入thrift框架
        通過rpc框架,將抽獎系統服務化,可以更加靈活和簡單的接入到更多的業務系統中。
                10-1 瞭解thrift
                10-2 定義thrift檔案
                10-3 生成程式碼
                10-4 服務端介面(上)
                10-5 服務端介面(中)
                10-6 服務端介面(下)
                10-7 客戶端介面
                10-8 總結

        第11章 課程總結
        對課程進行總結
                11-1 問題與思考
                11-2 課程總結

 

下載地址:百度網盤

〖課程介紹〗:
        抽獎系統屬於典型的高併發和高效能的系統,同時,業務需求複雜多變,對系統的靈活性和穩定性要求同樣非常高。本課程先為大家剖析多種抽獎活動的共性和特性,再設計和開發抽獎大轉盤系統的後臺和介面。從基本功能的開發到使用redis步步優化,以及後續的策略對比,通過壓力測試,讓小夥伴直觀的瞭解不同的設定導致的的效能差異,探究效能影響的關鍵因素。通過這門課程的學習,可以對系統的效能、併發、靈活、可靠等方面有更多的理解和掌握,迅速提升,達到中高階工程師的水平!

〖課程目錄〗:
        第1章 課程介紹
        課程內容的整體介紹以及學習建議。
                1-1 Go抽獎系統導學

        第2章 6種抽獎活動來一遍
        看書不如動手,本章將從年會抽獎、彩票刮獎、微信搖一搖、支付寶集福卡、微信搶紅包、抽獎大轉盤6種抽獎活動的實現出發,讓小夥伴切身的體驗下如何實現不同的抽獎活動,這些活動實現的差異和難點在哪,並示範用多種方法(互斥鎖、atomic、sync.Map等等)解決併發安全問題。...
                2-1 年會抽獎_實現分析
                2-2 年會抽獎基本功能實現
                2-3 編寫web單元測試和併發安全問題
                2-4 用互斥鎖解決併發安全問題
                2-5 彩票_實現分析
                2-6 刮刮樂和雙色球
                2-7 微信搖一搖_實現分析
                2-8 微信搖一搖實現(上)
                2-9 微信搖一搖實現(下)
                2-10 bug修復和壓測
                2-11 支付寶集福卡_實現分析
                2-12 支付寶集福卡實現
                2-13 微博搶紅包_實現分析
                2-14 實現發紅包
                2-15 實現搶紅包
                2-16 均衡問題和sync.Map解決異常
                2-17 改用chan的方式解決併發安全問題
                2-18 再次壓測驗證和優化改造
                2-19 抽獎大轉盤_實現分析
                2-20 抽獎大轉盤初步實現
                2-21 sync.Mutex和atomic改造效能對比
                2-22 六種抽獎活動總結

        第3章 系統設計和架構設計
        本章對抽獎系統和架構進行詳細的設計。總結前面的開發經驗,從需求分析開始入手,整理需求,提煉功能,分析完善使用者操作和業務流程、資料庫設計、快取設計要點。
                3-1 需求整理和提煉
                3-2 使用者操作和業務流程
                3-3 資料庫設計
                3-4 快取設計
                3-5 系統架構設計
                3-6 系統設計和架構設計總結

        第4章 專案框架與核心程式碼
        本章開始動手使用iris+xorm先把專案框架搭建起來,並且把基礎的核心程式碼(dao,services,comm,使用者登入、退出等)完成,為後續的功能開發做基礎的準備。
                4-1 專案框架搭建
                4-2 資料模型的生成
                4-3 核心的dao和service類
                4-4 定義dao
                4-5 定義service
                4-6 定義資料庫和redis配置資訊
                4-7 建立資料庫例項及其要點
                4-8 建立redis例項及其要點
                4-9 利用iris建立web站點
                4-10 專案配置和通用方法
                4-11 web站點初始化構建
                4-12 實現IndexController
                4-13 完善路由和main.go檔案
                4-14 登入和退出:安全值校驗和防篡改

        第5章 後臺功能開發
        一個視覺化的管理後臺可以更好的幫助產品運營來自助操作,本章將實現相關功能並完成抽獎活動的定製規則設定。
                5-1 後臺功能開發介紹
                5-2 頁面模板和AdminController
                5-3 獎品管理實現(上)
                5-4 獎品管理實現(中)
                5-5 獎品管理實現(下)
                5-6 優惠券管理實現(上)
                5-7 優惠券管理實現(下)
                5-8 中獎記錄管理
                5-9 使用者管理

        5-10 IP黑名單管理
        第6章 基於mysql的抽獎功能開發
        本章將先完成後端抽獎介面的實現,完成抽獎業務邏輯和資料流程的開發。
                6-1 抽獎介面開發細節分析
                6-2 使用者併發操作的鎖
                6-3 驗證使用者、IP今日參與次數(上)
                6-4 驗證使用者、IP今日參與次數(下)
                6-5 使用者、IP黑名單的處理
                6-6 抽獎的實現
                6-7 發獎的實現
                6-8 中獎記錄和返回結果

        第7章 使用redis快取優化
        本章引入redis來優化整個系統,減輕對mysql的依賴,提高抽獎介面的效能。
                7-1 分析_獎品資料全量快取
                7-2 實現_獎品資料全量快取(上)
                7-3 實現_獎品資料全量快取(下)
                7-4 分析_單個使用者資料部分快取
                7-5 實現_單個使用者資料部分快取
                7-6 分析_IP黑名單資料快取
                7-7 實現_IP黑名單資料快取
                7-8 優化IP今日抽獎次數
                7-9 優化使用者今日抽獎次數
                7-10 使用者今日抽獎次數(上)
                7-11 使用者今日抽獎次數(下)
                7-12 為什麼要使用獎品池
                7-13 初步使用獎品池
                7-14 分析_優惠券的全量快取
                7-15 實現_優惠券的全量快取(上)
                7-16 實現_優惠券的全量快取(下)
                7-17 使用redis優化總結

        第8章 獎品池以及發獎計劃的實現
        本章實現兩個基礎服務功能(更新發獎計劃,自動填充資源池),來完成獎品的發獎計劃資料維護,保證可以合理的把獎品填充到獎品池中。
                8-1 發獎計劃設計分析
                8-2 實現發獎計劃(上)
                8-3 實現發獎計劃(中)
                8-4 實現發獎計劃(下)
                8-5 自動填充獎品池分析
                8-6 實現獎品池(上)
                8-7 實現獎品池(下)
                8-8 總結髮獎計劃和獎品池

        第9章 完整性演示以及更多總結
        實現前端頁面的大轉盤效果,完整的演示最終的效果。通過不同的設定以及測試方法,利用壓力測試工具對系統性能進行分析,深入瞭解業務邏輯以及技術實現的細節,對系統性能的影響,明白時間消耗的關鍵點。而更多的思考和總結,讓抽獎類活動的有更多玩法。 ...
                9-1 前端大轉盤分析
                9-2 前端大轉盤效果實現
                9-3 優化獎品設定分析
                9-4 優化發放獎品分析
                9-5 再來一次壓力測試吧
                9-6 壓力測試
                9-7 更多運營策略

        第10章 引入thrift框架
        通過rpc框架,將抽獎系統服務化,可以更加靈活和簡單的接入到更多的業務系統中。
                10-1 瞭解thrift
                10-2 定義thrift檔案
                10-3 生成程式碼
                10-4 服務端介面(上)
                10-5 服務端介面(中)
                10-6 服務端介面(下)
                10-7 客戶端介面
                10-8 總結

        第11章 課程總結
        對課程進行總結
                11-1 問題與思考
                11-2 課程總結