買這商品的人也買了...
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
全書分為2篇:
1.第1篇詳細介紹Go語言高效能優勢是如何實現的,包括經典的GMP調度模型,
Go語言調度器的實現,垃圾回收,以及如何基於管道、鎖等並發程式設計。
2.第二篇主要是專案實戰,手把手帶領讀者從0開始搭建高效能、高穩定的Go服務。
以及在面對線上問題時,如何調試、分析、解決。
透過學習本書,讀者對Go語言的核心——高並發會有一個深刻的認識,具備一定的Go並發程式設計經驗,
能夠獨立完成高效能、高穩定Go服務的架構設計,並且能夠基於一些工具進行Go線上問題分析與效能調優。
作者簡介
李樂,Golang開發專家、西安電子科技大學碩士,曾就職於滴滴、好未來,樂於鉆研技術與源碼,合著有《Redis 5設計與源碼分析》《Nginx底層設計與源碼分析》。
目錄大綱
目錄 Contents
前言
第1章 為什麼要瞭解Go底層1
1.1 Go服務怎麼出現502狀態碼了1
1.1.1 服務超時為什麼導致502狀態碼1
1.1.2 基於context的超時控制4
1.2 Go服務為什麼沒回應了7
1.2.1 誰阻塞了協程7
1.2.2 寫入管道可以不阻塞協程嗎10
1.3 Uber如何透過GC調優節約7萬個核心11
1.3.1 GC概述11
1.3.2 Uber半自動化GC調優13
1.4 Go語言進階路線15
1.4.1 Go語言快速入門16
1.4.2 Go高並發程式20
1.4.3 Go語言計畫實戰22
1.5 本章小結24
第2章 Go語言並發模型25
2.1 GMP調度模型25
2.1.1 Go語言並發程式設計入門25
2.1.2 GMP調度模型概述27
2.1.3 深入理解GMP調度模型30
2.2 協程管理33
2.2.1 基礎補充33
2.2.2 協程創建37
2.2.3 協程切換40
2.2.4 協程棧會溢位嗎42
2.2.5 協程退出45
2.3 調度器46
2.3.1 調度器實作原理46
2.3.2 時間片調度49
2.3.3 基於協作的搶佔式調度52
2.3.4 基於訊號的搶佔式調度53
2.4 本章小結54
第3章 調度器觸發時機55
3.1 網絡I/O56
3.1.1 探索Go語言網絡I/O56
3.1.2 Go語言網絡I/O與調度器59
3.1.3 如何實現網絡讀寫逾時62
3.2 管道65
3.2.1 管道的基本用法65
3.2.2 管道與調度器67
3.3 定時器70
3.3.1 定時器的基本用法70
3.3.2 定時器與調度器73
3.4 系統呼叫75
3.4.1 系統呼叫會阻塞執行緒嗎75
3.4.2 系統呼叫與調度器77
3.5 本章小結79
第4章 Go語言並發程式設計80
4.1 什麼是並發問題80
4.2 CSP並發模型84
4.2.1 基於管道-協程的CSP模型84
4.2.2 管道與select關鍵字86
4.2.3 如何實現無限快取管道89
4.3 基於鎖的協程同步91
4.3.1 樂觀鎖91
4.3.2 悲觀鎖93
4.4 如何並發操作map95
4.4.1 map的並發問題96
4.4.2 並發散列表sync.Map98
4.5 並發控制sync.WaitGroup101
4.6 並發物件池sync. Pool103
4.7 如何實現單例模式104
4.8 並發檢測105
4.9 本章小結106
第5章 GC原理、調度與調優108
5.1 內存管理108
5.1.1 如何設計動態內存分配器108
5.1.2 Go語言內存分配器110
5.1.3 Go語言內存管理111
5.1.4 內存逃逸113
5.2 三色標記與寫屏障114
5.2.1 三色標記115
5.2.2 寫屏障117
5.3 標記與清理119
5.3.1 垃圾回收執行階段120
5.3.2 經典的stopTheWorld123
5.3.3 輔助標記125
5.3.4 內存清理127
5.4 GC調度與GC調優128
5.4.1 GC觸發時機128
5.4.2 GC協程調度模式131
5.4.3 快取框架bigcache中的GC調優133
5.5 本章小結135
第6章 手把手教你搭建Go專案136
6.1 Go專案架構設計 136
6.1.1 分層架構136
6.1.2 程式碼佈局138
6.1.3 命令管理cobra140
6.1.4 配置管理Viper142
6.2 Web框架Gin145
6.2.1 RESTful API145
6.2.2 引入Gin框架146
6.2.3 中間件149
6.2.4 如何記錄訪問日誌152
6.3 日誌與全鏈路追蹤154
6.3.1 引入日誌框架Zap154
6.3.2 基於context的全鏈路追蹤157
6.3.3 基於協程ID的全鏈路追蹤159
6.4 存取數據庫161
6.4.1 引入Gorm框架161
6.4.2 CURD165
6.4.3 事務170
6.4.4 如何記錄Trace日誌172
6.5 HTTP調用173
6.5.1 go-resty框架概述174
6.5.2 請求追蹤176
6.5.3 長連接還是短連接178
6.5.4 如何記錄Trace日誌180
6.6 單元測試181
6.6.1 Go語言中的單元測試181
6.6.2 引入單元測試183
6.7 本章小結184
第7章 高效能Go服務開發186
7.1 分庫分錶186
7.1.1 分庫分錶基本原理186
7.1.2 基於Gorm的分錶189
7.2 使用Redis快取191
7.2.1 go-redis的基本操作191
7.2.2 基於Redis的效能最佳化193
7.3 使用本地快取196
7.3.1 自己實作一個LRU緩存196
7.3.2 基於bigcache的效能最佳化198
7.4 資源復用200
7.4.1 協程復用之fasthttp200
7.4.2 連接復用之連接池203
7.4.3 物件複用之物件池205
7.5 其他207
7.5.1 異步化處理207
7.5.2 無鎖定程式設計209
7.6 本章小結210
第8章 高可用Go服務開發211
8.1 可用性定義與高可用三板斧 211
8.1.1 可用性定義211
8.1.2 高可用三板斧213
8.2 流量治理組件Sentinel215
8.2.1 Sentinel快速入門215
8.2.2 流量控制218
8.2.3 系統自適應流量控制220
8.2.4 熔斷降級222
8.2.5 Sentinel原理淺析224
8.3 Go服務監控225
8
