書(shū)馨卡幫你省薪 2024個(gè)人購(gòu)書(shū)報(bào)告 2024中圖網(wǎng)年度報(bào)告
歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)

基于GO語(yǔ)言的云原生

出版社:中國(guó)電力出版社出版時(shí)間:2024-09-01
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 484
中 圖 價(jià):¥84.4(5.7折) 定價(jià)  ¥148.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車(chē) 收藏
運(yùn)費(fèi)6元,滿(mǎn)39元免運(yùn)費(fèi)
?新疆、西藏除外
本類(lèi)五星書(shū)更多>

基于GO語(yǔ)言的云原生 版權(quán)信息

基于GO語(yǔ)言的云原生 本書(shū)特色

編輯推薦
Docker、Kubernetes和Prometheus的共同點(diǎn)是什么?所有這些云原生技術(shù)都是用Go語(yǔ)言編寫(xiě)的。這本實(shí)用指南將向你展示如何利用Go語(yǔ)言的優(yōu)勢(shì)在不可預(yù)期的環(huán)境中開(kāi)發(fā)可擴(kuò)展且富有彈性的云原生服務(wù)。我們將探索這些應(yīng)用程序的組成和結(jié)構(gòu),從Go語(yǔ)言的底層特性到中級(jí)設(shè)計(jì)模式,再到高級(jí)架構(gòu)的考慮因素。
專(zhuān)家推薦
“本書(shū)很好地將“云原生”的高級(jí)概念帶到現(xiàn)實(shí),并使用現(xiàn)代計(jì)算語(yǔ)言Go來(lái)實(shí)現(xiàn)。這兩個(gè)概念的結(jié)合效果很好,帶給我們?cè)S多靈感。”
—— Lee Atchison,
Atchison Technology LLC的所有者
“這是我讀到的第D一本以如此實(shí)用的方式、如此廣度及深度介紹現(xiàn)代云原生實(shí)踐的書(shū)籍。作者通過(guò)清晰的示例呈現(xiàn)了可幫助工程師解決日常面臨的實(shí)際問(wèn)題的各種模式。”
—— Alvaro Atienza,
Flatiron Health網(wǎng)站可靠性工程師

基于GO語(yǔ)言的云原生 內(nèi)容簡(jiǎn)介

本書(shū)的各個(gè)章節(jié)環(huán)環(huán)相扣,我們將引導(dǎo)Go語(yǔ)言中高級(jí)開(kāi)發(fā)人員構(gòu)建一款簡(jiǎn)單但功能齊備的分布式鍵值存儲(chǔ)。我們將學(xué)習(xí)選用Go作為開(kāi)發(fā)語(yǔ)言來(lái)解決云原生管理和部署問(wèn)題的*Z佳實(shí)踐。本書(shū)的主要內(nèi)容有:了解云原生應(yīng)用程序與其他軟件架構(gòu)有何不同。了解如何利用Go語(yǔ)言解決設(shè)計(jì)可擴(kuò)展的分布式服務(wù)的各種難題。利用Go語(yǔ)言的底層特性(例如通道和go協(xié)程)來(lái)實(shí)現(xiàn)可靠的云原生服務(wù)。探討什么是“服務(wù)可靠性”及其與“云原生”的關(guān)系。利用各種模式、抽象和工具來(lái)構(gòu)建和管理復(fù)雜的分布式系統(tǒng)。

基于GO語(yǔ)言的云原生 目錄

目錄
第Ⅰ部分 云原生概述
第1 章 什么是“云原生”應(yīng)用程序 11
1.1 迄今為止的故事 12
1.2 什么是云原生? 14
1.2.1 可擴(kuò)展性 .15
1.2.2 松散耦合 .16
1.2.3 韌性 17
1.2.4 可管理性 .19
1.1.5 可觀察性 .20
1.3 為什么云原生很重要? .21
1.4 小結(jié) .22
第2 章 為什么Go 語(yǔ)言統(tǒng)治云原生世界 23
2.1 Go 語(yǔ)言誕生的動(dòng)機(jī) .23
2.2 云原生世界的特性 24
2.2.1 組合與結(jié)構(gòu)化類(lèi)型 .25
2.2.2 可理解性 .27
2.2.3 CSP 風(fēng)格的并發(fā) 27
2.2.4 快速構(gòu)建 .28
2.2.5 語(yǔ)言穩(wěn)定性 29
2.2.6 內(nèi)存安全 .30
2.2.7 性能 31
2.2.8 靜態(tài)鏈接 .32
2.2.9 靜態(tài)類(lèi)型 .33
2.3 小結(jié) .34
第Ⅱ部分 云原生Go 結(jié)構(gòu)
第3 章 Go 語(yǔ)言基礎(chǔ) 39
3.1 基本數(shù)據(jù)類(lèi)型 .39
3.1.1 布爾值 40
3.1.2 簡(jiǎn)單的數(shù)字 40
3.1.3 復(fù)數(shù) 41
3.1.4 字符串 42
3.2 變量 .42
3.2.1 簡(jiǎn)短的變量聲明 43
3.2.2 零值 44
3.2.3 空標(biāo)識(shí)符 .45
3.2.4 常量 46
3.3 容器類(lèi)型:數(shù)組、切片和映射 47
3.3.1 數(shù)組 .47
3.3.2 切片 48
3.3.3 映射 53
3.4 指針 .54
3.5 控制結(jié)構(gòu)56
3.5.1 for 循環(huán) 56
3.5.2 if 語(yǔ)句 59
3.5.3 switch 語(yǔ)句 .60
3.6 錯(cuò)誤處理62
3.7 可變參函數(shù)和閉包 63
3.7.1 函數(shù) 64
3.7.2 可變參函數(shù) 68
3.7.3 匿名函數(shù)和閉包 70
3.8 結(jié)構(gòu)、方法和接口 72
3.8.1 結(jié)構(gòu) 72
3.8.2 方法 73
3.8.3 接口 75
3.8.4 通過(guò)類(lèi)型嵌入實(shí)現(xiàn)組合 77
3.9 并發(fā) .80
3.9.1 Go 協(xié)程 80
3.9.2 通道 80
3.9.3 select 語(yǔ)句 83
3.10 小結(jié) 85
第4 章 云原生模式 87
4.1 Context 包 .88
4.1.1 Context 可以做什么 89
4.1.2 創(chuàng)建Context 90
4.1.3 定義Context 的截止日期和超時(shí) .91
4.1.4 定義請(qǐng)求作用域的值.91
4.1.5 使用Context 92
4.2 本章的主要內(nèi)容 93
4.3 穩(wěn)定性模式 94
4.3.1 斷路器模式 94
4.3.2 防抖模式 .97
4.3.3 重試模式 102
4.3.4 節(jié)流模式 104
4.3.5 超時(shí)模式 108
4.4 并發(fā)模式. 111
4.4.1 扇入模式 112
4.4.2 扇出模式 114
4.4.3 未來(lái)模式 117
4.4.4 分片模式 122
4.5 小結(jié) 128
第5 章 構(gòu)建云原生服務(wù) 129
5.1 構(gòu)建一個(gè)服務(wù)! .129
5.2 需求 130
5.2.1 什么是冪等性,為什么冪等性很重要? 131
5.2.2 *終目標(biāo) 133
5.3 第0 代:核心功能 .133
5.4 **代:?jiǎn)误w架構(gòu) .135
5.4.1 使用net/http 構(gòu)建HTTP 服務(wù)器 135
5.4.2 使用gorilla/mux 構(gòu)建HTTP 服務(wù)器 137
5.4.3 構(gòu)建RESTful 服務(wù) 141
5.4.4 確保數(shù)據(jù)結(jié)構(gòu)的并發(fā)安全 146
5.5 第2 代:持久保存資源狀態(tài) .148
5.5.1 什么是事務(wù)日志? 150
5.5.2 將狀態(tài)存儲(chǔ)到事務(wù)日志文件 151
5.5.3 將狀態(tài)存儲(chǔ)到外部數(shù)據(jù)庫(kù) 165
5.6 第3 代:實(shí)現(xiàn)傳輸層安全 .174
5.6.1 傳輸層安全 .175
5.6.2 私鑰和證書(shū)文件 176
5.6.3 使用HTTPS 保護(hù)Web 服務(wù) 177
5.6.4 傳輸層總結(jié) .179
5.7 鍵值存儲(chǔ)的容器化 .179
5.7.1 Docker 的基礎(chǔ)知識(shí) .181
5.7.2 構(gòu)建鍵值存儲(chǔ)容器 188
5.7.3 外部化容器數(shù)據(jù) 193
5.8 小結(jié) 194
第Ⅲ部分 云原生屬性
第6 章 可信任性 . 197
6.1 云原生的意義 198
6.2 可信任性.198
6.3 什么是可信任性以及為什么可信任性如此重要? 199
6.4 實(shí)現(xiàn)可信任性 203
6.4.1 故障預(yù)防 205
6.4.2 容錯(cuò) .206
6.4.3 故障排除 207
6.4.4 故障預(yù)測(cè) 208
6.5 十二要素應(yīng)用 209
6.5.1 基準(zhǔn)代碼 210
6.5.2 依賴(lài) .210
6.5.3 配置 . 211
6.5.4 依賴(lài)服務(wù) 213
6.5.5 構(gòu)建、發(fā)布、運(yùn)行 214
6.5.6 進(jìn)程 .215
6.5.7 數(shù)據(jù)分離 216
6.5.8 可擴(kuò)展性 217
6.5.9 易處理性 217
6.5.10 開(kāi)發(fā)環(huán)境與生產(chǎn)環(huán)境等價(jià) .218
6.5.11 日志 219
6.5.12 管理進(jìn)程 219
6.6 小結(jié) 221
第7 章 可擴(kuò)展性 . 223
7.1 什么是可擴(kuò)展性 .225
7.2 四個(gè)常見(jiàn)瓶頸 226
7.3 狀態(tài)與無(wú)狀態(tài) 228
7.3.1 應(yīng)用程序狀態(tài)與資源狀態(tài) 228
7.3.2 無(wú)狀態(tài)的優(yōu)勢(shì) .229
7.4 推遲擴(kuò)展:效率 .230
7.4.1 使用LRU 緩存的高效緩存 .231
7.4.2 高效同步 234
7.4.3 內(nèi)存泄漏可能會(huì)致命錯(cuò)誤:運(yùn)行時(shí):內(nèi)存不足 .240
7.4.4 高效 .244
7.5 服務(wù)架構(gòu).244
7.5.1 單體系統(tǒng)架構(gòu) .245
7.5.2 微服務(wù)系統(tǒng)架構(gòu) 246
7.5.3 無(wú)服務(wù)器架構(gòu) .248
7.6 小結(jié) 253
第8 章 松散耦合 . 255
8.1 緊密耦合.256
8.2 服務(wù)之間的通信 .260
8.3 請(qǐng)求響應(yīng)消息 261
8.3.1 常見(jiàn)的請(qǐng)求響應(yīng)實(shí)現(xiàn)262
8.3.2 通過(guò)net/http 發(fā)送HTTP 請(qǐng)求 263
8.3.3 使用gRPC 實(shí)現(xiàn)遠(yuǎn)程過(guò)程調(diào)用 267
8.4 利用插件實(shí)現(xiàn)本地資源的松散耦合280
8.4.1 帶有插件包的進(jìn)程內(nèi)插件 281
8.4.2 基于RPC 的HashiCorp 插件系統(tǒng) 288
8.5 六邊形架構(gòu) 297
8.5.1 架構(gòu) .297
8.5.2 實(shí)現(xiàn)六邊形服務(wù) 299
8.6 小結(jié) 307
第9 章 韌性 . 309
9.1 為什么韌性很重要 .310
9.2 系統(tǒng)失效是什么意思? 311
9.3 級(jí)聯(lián)失效.313
9.4 重試請(qǐng)求.321
9.4.1 退避算法 322
9.4.2 斷路器 325
9.4.3 超時(shí) .327
9.4.4 冪等性 333
9.5 服務(wù)冗余.337
9.5.1 設(shè)計(jì)系統(tǒng)時(shí)考慮冗余338
9.5.2 自動(dòng)擴(kuò)展 340
9.6 健康檢查.341
9.6.1“健康的”實(shí)例意味著什么? .342
9.6.2 三種類(lèi)型的健康檢查343
9.6.3 故障打開(kāi) 348
9.7 小結(jié) 348
第10 章 可管理性 351
10.1 什么是可管理性,為什么我應(yīng)該關(guān)注可管理性? 352
10.2 配置應(yīng)用程序 354
10.2.1 有關(guān)配置的良好實(shí)踐 355
10.2.2 環(huán)境變量配置 355
10.2.3 命令行參數(shù)配置 .357
10.2.4 配置文件 363
10.2.5 Viper:配置包中的瑞士軍刀 381
10.3 利用特性標(biāo)志管理功能 386
10.3.1 特性標(biāo)志的進(jìn)化 .387
10.3.2 第零代:*初的實(shí)現(xiàn) 388
10.3.3 **代:硬編碼特性標(biāo)志 .388
10.3.4 第二代:可配置標(biāo)志 390
10.3.5 第三代:動(dòng)態(tài)特性標(biāo)志 391
10.4 小結(jié) 395
第11 章 可觀察性 397
11.1 什么是可觀察性? 398
11.1.1 為什么我們需要可觀察性? .399
11.1.2 可觀察性與“傳統(tǒng)的”監(jiān)控有何不同? 399
11.2 “可觀察性的三大支柱” 400
11.3 OpenTelemetry 402
11.4 追蹤 404
11.4.1 追蹤的概念 405
11.4.2 使用OpenTelemetry 進(jìn)行追蹤 407
11.4.3 整合:追蹤 420
11.5 指標(biāo) 427
11.5.1 推式與拉式指標(biāo)集合 429
11.5.2 OpenTelemetry 的指標(biāo) 432
11.5.3 整合:指標(biāo) 444
11.6 日志記錄 447
11.6.1 更好的日志記錄實(shí)踐 448
11.6.2 使用Go 標(biāo)準(zhǔn)的log 包記錄日志 .452
11.6.3 Zap 日志包 455
11.7 小結(jié) 462
展開(kāi)全部

基于GO語(yǔ)言的云原生 作者簡(jiǎn)介

Matthew A. Titmus是一位經(jīng)驗(yàn)豐富的軟件開(kāi)發(fā)行業(yè)資深人士,擁有分子生物學(xué)學(xué)位。作為云原生技術(shù)和Go語(yǔ)言的早期采用者和倡導(dǎo)者,他對(duì)如何構(gòu)建生產(chǎn)級(jí)質(zhì)量的系統(tǒng)充滿(mǎn)熱情。他付諸大量心血來(lái)實(shí)現(xiàn)觀察和編排分布式系統(tǒng)的策略。

暫無(wú)評(píng)論……
書(shū)友推薦
返回頂部
中圖網(wǎng)
在線(xiàn)客服