注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)服務(wù)端開(kāi)發(fā):技術(shù)、方法與實(shí)用解決方案

服務(wù)端開(kāi)發(fā):技術(shù)、方法與實(shí)用解決方案

服務(wù)端開(kāi)發(fā):技術(shù)、方法與實(shí)用解決方案

定 價(jià):¥109.00

作 者: 郭進(jìn)
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111732891 出版時(shí)間: 2023-08-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  這是一本從開(kāi)發(fā)流程、技術(shù)棧、典型問(wèn)題解決方案和開(kāi)發(fā)規(guī)范等維度全面講解服務(wù)端開(kāi)發(fā)的著作。它衍生自作者在某著名互聯(lián)網(wǎng)科技公司內(nèi)部講授的高口碑課程,是作者近10年服務(wù)端開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),同時(shí)融合了業(yè)界在服務(wù)端開(kāi)發(fā)方面的寶貴項(xiàng)目經(jīng)驗(yàn)和實(shí)踐智慧。 本書(shū)理論與實(shí)踐結(jié)合,擺脫編程語(yǔ)言、框架、中間件及傳統(tǒng)編程思想的束縛,全景式、體系化地闡述了服務(wù)端開(kāi)發(fā),核心內(nèi)容包括以下兩個(gè)部分。 第1部分:服務(wù)端開(kāi)發(fā)的技術(shù)和方法首先,介紹了服務(wù)端開(kāi)發(fā)的職責(zé)、技術(shù)棧、核心流程和進(jìn)階路徑;然后,從需求分析、抽象建模、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)和非功能性設(shè)計(jì)5個(gè)方面展開(kāi),結(jié)合案例深入講解了服務(wù)端開(kāi)發(fā)的實(shí)操方法和重難點(diǎn),為讀者呈現(xiàn)出服務(wù)端開(kāi)發(fā)的全景圖,幫助讀者快速、體系化地掌握服務(wù)端開(kāi)發(fā)的相關(guān)知識(shí)和方法。 第2部分:服務(wù)端典型問(wèn)題的解決方案針對(duì)高并發(fā)、高性能、高可用、緩存、數(shù)據(jù)一致性、冪等、秒殺等服務(wù)端開(kāi)發(fā)實(shí)踐中的典型問(wèn)題,給出了對(duì)應(yīng)的解決方案和開(kāi)發(fā)規(guī)范,同時(shí)還結(jié)合案例深入分析了不同方案的優(yōu)缺點(diǎn)。此外,還總結(jié)了接口設(shè)計(jì)、日志打印、異常處理、代碼編寫(xiě)、代碼注釋等落地層面的行業(yè)案例和規(guī)范。

作者簡(jiǎn)介

  郭進(jìn)浙江大學(xué)工學(xué)碩士,杭州市高層次人才現(xiàn)任某著名互聯(lián)網(wǎng)科技公司服務(wù)端技術(shù)專(zhuān)家先后從事過(guò)智能控制算法、分布式中間件和服務(wù)端研發(fā)。相關(guān)成果曾發(fā)表于領(lǐng)域頂級(jí)會(huì)議和SCI期刊。近年來(lái),致力于構(gòu)建高效、可靠、可擴(kuò)展的服務(wù)端系統(tǒng),作為核心成員設(shè)計(jì)并開(kāi)發(fā)了承載百萬(wàn)級(jí)QPS、服務(wù)億級(jí)用戶(hù)的大型分布式系統(tǒng),在領(lǐng)域建模、系統(tǒng)架構(gòu)、信息流推薦及研發(fā)規(guī)范方面積累了大量?jī)?yōu)秀實(shí)踐曾獲得阿里第二屆技術(shù)講師課程大賽冠軍、華為“總裁嘉獎(jiǎng)令”、浙江省優(yōu)秀畢業(yè)生、NUEDC(全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽 ) 全國(guó)一等獎(jiǎng)及瑞薩特別獎(jiǎng)、國(guó)家獎(jiǎng)學(xué)金等30余個(gè)獎(jiǎng)項(xiàng)。CSDN博客專(zhuān)家,阿里高階技術(shù)“傳橙官”,先后在CSDN、“阿里技術(shù)”公眾號(hào)阿里ATA 等平臺(tái)發(fā)表技術(shù)文章數(shù)百篇,多篇文章入選平臺(tái)“年度最火文章合集”“年度好評(píng)TOP 10”和“頭條推薦”

圖書(shū)目錄

第一部分 技術(shù)與方法
第1章 走進(jìn)服務(wù)端開(kāi)發(fā)    2
1.1 服務(wù)端開(kāi)發(fā)概述    2
1.1.1 服務(wù)端開(kāi)發(fā)的定義    2
1.1.2 服務(wù)端開(kāi)發(fā)的職責(zé)    4
1.2 服務(wù)端開(kāi)發(fā)技術(shù)棧    5
1.2.1 編程語(yǔ)言    5
1.2.2 開(kāi)發(fā)工具    6
1.2.3 開(kāi)發(fā)框架    8
1.2.4 數(shù)據(jù)庫(kù)與數(shù)據(jù)存儲(chǔ)    10
1.2.5 中間件    14
1.2.6 操作系統(tǒng)    16
1.2.7 應(yīng)用部署    19
1.2.8 運(yùn)維監(jiān)控    22
1.3 服務(wù)端開(kāi)發(fā)核心流程    24
1.3.1 需求分析    24
1.3.2 抽象建模    26
1.3.3 系統(tǒng)設(shè)計(jì)    27
1.3.4 數(shù)據(jù)設(shè)計(jì)    30
1.3.5 非功能性設(shè)計(jì)    31
1.4 服務(wù)端開(kāi)發(fā)進(jìn)階路徑    33
1.4.1 構(gòu)建能力模型    33
1.4.2 專(zhuān)業(yè)知識(shí)體系化    34
1.4.3 掌握學(xué)習(xí)方法    35
1.4.4 技術(shù)與業(yè)務(wù)同行    36
1.4.5 樹(shù)立正確的觀念    37
第2章 需求分析    39
2.1 需求分類(lèi)    39
2.1.1 產(chǎn)品需求    40
2.1.2 技術(shù)需求    40
2.2 需求分析的流程    40
2.2.1 學(xué)習(xí)領(lǐng)域知識(shí)    41
2.2.2 明確業(yè)務(wù)目標(biāo)    42
2.2.3 明確業(yè)務(wù)用例    43
2.2.4 梳理用例場(chǎng)景    44
2.2.5 構(gòu)建業(yè)務(wù)模型    45
2.2.6 確認(rèn)業(yè)務(wù)規(guī)則    47
2.2.7 確認(rèn)需求    47
2.3 需求分析的常用方法    48
2.3.1 功能分析法    48
2.3.2 數(shù)據(jù)流分析法    51
2.3.3 面向?qū)ο蠓治龇?   55
2.4 需求分析的重點(diǎn)和難點(diǎn)    56
2.4.1 統(tǒng)一語(yǔ)言    56
2.4.2 識(shí)別問(wèn)題    57
2.4.3 數(shù)據(jù)分析    58
2.4.4 細(xì)節(jié)陷阱    59
第3章 抽象建模    61
3.1 抽象思維    61
3.1.1 軟件世界中的抽象    61
3.1.2 提升抽象思維的方法    63
3.2 建模方法    65
3.2.1 問(wèn)題空間和解決方案空間    65
3.2.2 什么是領(lǐng)域模型    66
3.2.3 為什么要建立領(lǐng)域模型    68
3.2.4 典型的建模方法    69
3.2.5 建模應(yīng)遵循的3個(gè)原則    71
3.3 用例建模法知識(shí)儲(chǔ)備    73
3.3.1 建模基礎(chǔ)    73
3.3.2 什么是用例    74
3.3.3 挖掘用例的5個(gè)步驟    75
3.3.4 繪制用例圖的6個(gè)要素    78
3.4 用例建模法的4個(gè)實(shí)施步驟    80
3.4.1 提取模型    80
3.4.2 補(bǔ)充屬性    81
3.4.3 關(guān)系抽象    82
3.4.4 模型驗(yàn)證    84
3.5 建模小結(jié)    85
第4章 系統(tǒng)設(shè)計(jì)    87
4.1 大話系統(tǒng)設(shè)計(jì)    87
4.1.1 戰(zhàn)術(shù)編程腐蝕系統(tǒng)    87
4.1.2 系統(tǒng)復(fù)雜化的3個(gè)特征    88
4.1.3 系統(tǒng)復(fù)雜化的3個(gè)誘因    89
4.1.4 復(fù)雜化應(yīng)對(duì)之道    90
4.2 總體架構(gòu)    91
4.2.1 什么是架構(gòu)    91
4.2.2 架構(gòu)推演    92
4.2.3 設(shè)計(jì)功能域    94
4.2.4 設(shè)計(jì)功能域協(xié)作    95
4.2.5 明確數(shù)據(jù)邊界    96
4.2.6 架構(gòu)約束考量    97
4.2.7 邏輯架構(gòu)粒度    98
4.2.8 小結(jié)    98
4.3 內(nèi)部分層    99
4.3.1 什么是分層    99
4.3.2 功能域內(nèi)部分層    101
4.3.3 分層原則    103
4.3.4 小結(jié)    105
4.4 詳細(xì)設(shè)計(jì)    106
4.4.1 設(shè)計(jì)內(nèi)容    106
4.4.2 設(shè)計(jì)原則    107
4.4.3 設(shè)計(jì)模式    109
4.4.4 小結(jié)    110
4.5 一圖勝千言    111
4.5.1 繪圖工具    111
4.5.2 “4 1”模型    112
4.5.3 C4模型    112
第5章 數(shù)據(jù)設(shè)計(jì)    117
5.1 數(shù)據(jù)設(shè)計(jì)概述    117
5.1.1 數(shù)據(jù)設(shè)計(jì)的步驟    117
5.1.2 概念數(shù)據(jù)模型    118
5.1.3 邏輯數(shù)據(jù)模型    119
5.1.4 物理數(shù)據(jù)模型    120
5.2 數(shù)據(jù)庫(kù)的分類(lèi)    120
5.2.1 關(guān)系型數(shù)據(jù)庫(kù)    121
5.2.2 NoSQL數(shù)據(jù)庫(kù)    122
5.2.3 NewSQL數(shù)據(jù)庫(kù)    123
5.3 常用數(shù)據(jù)庫(kù)及其適用場(chǎng)景    124
5.3.1 常用的關(guān)系型數(shù)據(jù)庫(kù)    124
5.3.2 常用的NoSQL數(shù)據(jù)庫(kù)    127
5.3.3 存儲(chǔ)選型    130
5.4 存儲(chǔ)架構(gòu)演進(jìn)    131
5.4.1 單機(jī)模式    131
5.4.2 獨(dú)立主機(jī)    131
5.4.3 讀寫(xiě)分離    132
5.4.4 垂直拆分    132
5.4.5 水平拆分    134
5.4.6 復(fù)合存儲(chǔ)方案    136
5.5 物理數(shù)據(jù)表設(shè)計(jì)    137
5.5.1 表設(shè)計(jì)    137
5.5.2 字段設(shè)計(jì)    139
5.5.3 索引設(shè)計(jì)    140
5.5.4 語(yǔ)句設(shè)計(jì)    142
第6章 非功能性設(shè)計(jì)    145
6.1 穩(wěn)定性設(shè)計(jì)    145
6.1.1 什么是穩(wěn)定性    145
6.1.2 容量評(píng)估    147
6.1.3 壓測(cè)摸底    151
6.1.4 風(fēng)險(xiǎn)識(shí)別    152
6.1.5 限流方案    152
6.1.6 降級(jí)方案    155
6.1.7 監(jiān)控告警    157
6.2 預(yù)案設(shè)計(jì)    158
6.2.1 為什么要做預(yù)案    158
6.2.2 如何做預(yù)案    159
6.3 可測(cè)性設(shè)計(jì)    160
6.3.1 可操作    160
6.3.2 可灰度    161
6.3.3 可壓測(cè)    162
6.4 資金安全設(shè)計(jì)    162
6.4.1 資損風(fēng)險(xiǎn)分析    162
6.4.2 資損防控三部曲    163
6.4.3 一致性    164
6.4.4 冪等    166
6.4.5 數(shù)據(jù)核對(duì)    167
6.4.6 數(shù)據(jù)監(jiān)控    169
6.4.7 應(yīng)急止損    170
6.5 其他非功能性設(shè)計(jì)    170
6.5.1 兼容性    171
6.5.2 異常/補(bǔ)償    172
6.5.3 擴(kuò)展性    174
第二部分 解決方案
第7章 高并發(fā)問(wèn)題及解決方案    176
7.1 高并發(fā)概述    176
7.1.1 并發(fā)    176
7.1.2 CPU密集型與I/O密
集型    177
7.1.3 高并發(fā)    178
7.2 資源擴(kuò)展策略    179
7.2.1 垂直擴(kuò)展    179
7.2.2 水平擴(kuò)展    180
7.2.3 負(fù)載均衡    183
7.3 數(shù)據(jù)緩存策略    187
7.3.1 本地緩存    187
7.3.2 分布式緩存    194
7.3.3 CDN    197
7.3.4 多級(jí)緩存    199
7.3.5 案例解析    200
7.4 流量削峰策略    202
7.4.1 消息隊(duì)列削峰    202
7.4.2 客戶(hù)端削峰    205
7.5 服務(wù)降級(jí)策略    206
7.5.1 降級(jí)范圍    207
7.5.2 降級(jí)的分類(lèi)    207
7.6 限流策略    208
7.7 基本原則    208
第8章 緩存的典型問(wèn)題及解決
方案    210
8.1 緩存預(yù)熱    210
8.1.1 應(yīng)用啟動(dòng)預(yù)熱策略    210
8.1.2 任務(wù)調(diào)度預(yù)熱策略    211
8.1.3 模擬請(qǐng)求預(yù)熱策略    215
8.1.4 小結(jié)    215
8.2 緩存淘汰    216
8.2.1 LRU    216
8.2.2 LFU    217
8.2.3 ARC    217
8.2.4 FIFO    219
8.3 緩存更新    219
8.3.1 Cache Aside模式    220
8.3.2 Read/Write Through模式    222
8.3.3 Write Behind Caching
模式    223
8.3.4 小結(jié)    224
8.4 緩存雪崩    224
8.4.1 緩存常駐策略    224
8.4.2 多級(jí)緩存策略    224
8.4.3 過(guò)期時(shí)間優(yōu)化策略    225
8.4.4 加鎖重建策略    226
8.5 緩存穿透    227
8.5.1 緩存空值策略    227
8.5.2 布隆過(guò)濾器策略    227
8.5.3 布谷鳥(niǎo)過(guò)濾器策略    231
8.6 緩存熱點(diǎn)    232
8.6.1 前置緩存策略    232
8.6.2 熱點(diǎn)散列策略    233
第9章 緩存數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)一致性
問(wèn)題及解決方案    235
9.1 CAP 理論簡(jiǎn)介    235
9.1.1 CAP定義解讀    235
9.1.2 三個(gè)核心需求不可兼得    236
9.2 緩存數(shù)據(jù)與數(shù)據(jù)庫(kù)數(shù)據(jù)不一致的
原因    238
9.2.1 操作時(shí)序?qū)е聰?shù)據(jù)不一致    238
9.2.2 操作失敗導(dǎo)致數(shù)據(jù)不一致    239
9.2.3 不可實(shí)現(xiàn)的絕對(duì)一致性    241
9.3 延時(shí)雙刪    242
9.3.1 原理及實(shí)施步驟    242
9.3.2 如何確定延時(shí)    243
9.3.3 優(yōu)點(diǎn)與不足    244
9.4 基于binlog異步刪除緩存    244
9.4.1 MySQL主從同步原理    244
9.4.2 感知數(shù)據(jù)庫(kù)變更    246
9.4.3 客戶(hù)端訂閱變更    246
9.4.4 消息隊(duì)列訂閱變更    247
9.4.5 刪除緩存    249
9.5 自動(dòng)過(guò)期加失敗補(bǔ)償    250
第10章 分布式系統(tǒng)冪等問(wèn)題及
解決方案    251
10.1 冪等概述    251
10.1.1 冪等場(chǎng)景舉例    251
10.1.2 什么是冪等    252
10.1.3 為什么需要冪等    253
10.1.4 并發(fā)與冪等    254
10.2 冪等實(shí)現(xiàn)四部曲    255
10.2.1 副作用分析    255
10.2.2 冪等號(hào)設(shè)計(jì)    255
10.2.3 冪等數(shù)據(jù)持久化設(shè)計(jì)    258
10.2.4 冪等處理流程設(shè)計(jì)    259
10.3 典型冪等策略    261
10.3.1 唯一索引策略    261
10.3.2 悲觀鎖策略    263
10.3.3 分布式鎖策略    264
10.3.4 其他策略    266
10.4 冪等號(hào)生成    266
10.4.1 客戶(hù)端與服務(wù)端冪等    266
10.4.2 服務(wù)端系統(tǒng)間冪等    268
10.5 冪等注意事項(xiàng)    268
第11章 秒殺系統(tǒng)關(guān)鍵問(wèn)題及解決
方案    271
11.1 主要技術(shù)難點(diǎn)    271
11.1.1 高并發(fā)    271
11.1.2 高可用    273
11.1.3 一致性    273
11.1.4 反作弊    274
11.2 電商平臺(tái)的庫(kù)存運(yùn)作全景圖    275
11.2.1 庫(kù)存模型    275
11.2.2 扣減模式    276
11.2.3 扣減執(zhí)行流程    276
11.2.4 庫(kù)存查詢(xún)    277
11.2.5 核心鏈路    277
11.3 庫(kù)存架構(gòu)演進(jìn)    279
11.3.1 獨(dú)立主機(jī)    279
11.3.2 分庫(kù)分表    280
11.3.3 熱點(diǎn)處理    280
11.4 庫(kù)存單元化    282
11.4.1 中心化烏云    282
11.4.2 優(yōu)化困境    285
11.4.3 單元封閉    285
11.4.4 全局庫(kù)存與局部庫(kù)存    287
11.4.5 庫(kù)存回收難點(diǎn)    290
11.4.6 全局庫(kù)存可見(jiàn)性    292
第12章 常見(jiàn)性能瓶頸及解決
方案    294
12.1 軟件性能概述    294
12.1.1 如何理解軟件性能    294
12.1.2 軟件性能評(píng)價(jià)指標(biāo)    295
12.1.3 性能瓶頸與分析要素    296
12.2 CPU    296
12.2.1 線程與進(jìn)程    297
12.2.2 CPU使用率    300
12.2.3 平均負(fù)載    302
12.2.4 CPU使用率與平均負(fù)載的
差異    304
12.2.5 瓶頸表征及解決方案    305
12.3 內(nèi)存    307
12.3.1 內(nèi)存使用率    308
12.3.2 特殊內(nèi)存    309
12.3.3 內(nèi)存回收    310
12.3.4 瓶頸表征及解決方案    311
12.4 磁盤(pán)    312
12.4.1 Linux I/O棧    313
12.4.2 磁盤(pán)交互    315
12.4.3 主要性能指標(biāo)    318
12.4.4 瓶頸表征及解決方案    319
第13章 高可用問(wèn)題及解決方案    321
13.1 高可用概述    321
13.1.1 什么是高可用    321
13.1.2 為什么需要高可用    322
13.1.3 穩(wěn)定性與高可用    323
13.2 高可用設(shè)計(jì)原則    324
13.2.1 減少潛在風(fēng)險(xiǎn)的數(shù)量    324
13.2.2 減小故障的影響范圍    324
13.2.3 縮短故障的影響時(shí)間    325
13.3 接入層高可用    326
13.3.1 負(fù)載均衡    326
13.3.2 Keepalived    327
13.3.3 ECMP    328
13.4 業(yè)務(wù)層高可用    329
13.4.1 無(wú)狀態(tài)服務(wù)    329
13.4.2 集群部署    331
13.4.3 依賴(lài)處理    332
13.4.4 重試機(jī)制    333
13.4.5 冪等設(shè)計(jì)    334
13.4.6 服務(wù)降級(jí)    334
13.4.7 服務(wù)限流    335
13.4.8 監(jiān)控預(yù)警    335
13.5 數(shù)據(jù)層高可用    336
13.5.1 副本機(jī)制    337
13.5.2 數(shù)據(jù)復(fù)制模式    337
13.5.3 利用Raft算法實(shí)現(xiàn)數(shù)據(jù)
復(fù)制    338
13.5.4 利用Raft算法實(shí)現(xiàn)故障
轉(zhuǎn)移    345
13.5.5 數(shù)據(jù)分片    347
13.5.6 緩存高可用    348
第14章 服務(wù)端開(kāi)發(fā)實(shí)用規(guī)范    349
14.1 實(shí)用API設(shè)計(jì)規(guī)范    349
14.1.1 明確邊界    349
14.1.2 “命令,不要去詢(xún)問(wèn)”
原則    351
14.1.3 單一職責(zé)原則    353
14.1.4 不要基于實(shí)現(xiàn)設(shè)計(jì)API    355
14.1.5 異常模式或錯(cuò)誤碼模式    355
14.1.6 避免使用帶有標(biāo)識(shí)的
參數(shù)    357
14.1.7 API如其名    358
14.1.8 建立文檔    358
14.1.9 統(tǒng)一風(fēng)格    359
14.2 實(shí)用日志規(guī)范    359
14.2.1 基本規(guī)范    359
14.2.2 級(jí)別規(guī)范    360
14.2.3 格式規(guī)范    360
14.2.4 其他規(guī)范    361
14.3 實(shí)用異常處理規(guī)范    362
14.3.1 異常處理機(jī)制    362
14.3.2 常用處理規(guī)范    363
14.4 實(shí)用代碼編寫(xiě)規(guī)范    364
14.4.1 大道至簡(jiǎn)    364
14.4.2 重復(fù)有度    365
14.4.3 快速失敗原則    367
14.5 實(shí)用注釋規(guī)范    369
14.5.1 復(fù)雜的邏輯    370
14.5.2 晦澀的算法    370
14.5.3 特殊的常量    371
14.5.4 非常規(guī)寫(xiě)法    371
14.5.5 對(duì)外API    372
14.5.6 法律文件    373

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)