最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

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

2023-08-27 14:02 作者:沒有名字如何行走江湖  | 我要投稿

鏈接:https://pan.baidu.com/s/1Rytv7edVx_HA7VfQ-6nkkg?pwd=itaj?

提取碼:itaj

這是一本從開發(fā)流程、技術(shù)棧、典型問題解決方案和開發(fā)規(guī)范等維度全面講解服務(wù)端開發(fā)的。它衍生自作者在某互聯(lián)網(wǎng)科技公司內(nèi)講授的高口碑課程,是作者近10年服務(wù)端開發(fā)經(jīng)驗(yàn)的總結(jié),同時(shí)融合了業(yè)界在服務(wù)端開發(fā)方面的寶貴項(xiàng)目經(jīng)驗(yàn)和實(shí)踐智慧。

本書理論與實(shí)踐結(jié)合,擺脫編程語言、框架、中間件及傳統(tǒng)編程思想的束縛,全景式、體系化地闡述了服務(wù)端開發(fā),核心內(nèi)容括以下兩個(gè)分。

第一分:服務(wù)端開發(fā)的技術(shù)和方法

先,介紹了服務(wù)端開發(fā)的職責(zé)、技術(shù)棧、核心流程和進(jìn)路徑;然后,從需求分析、抽象建模、系統(tǒng)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)和非功能性設(shè)計(jì)5個(gè)方面展開,結(jié)合案例深入講解了服務(wù)端開發(fā)的實(shí)方法和重難點(diǎn),為讀者呈現(xiàn)出服務(wù)端開發(fā)的全景圖,幫助讀者快速、體系化地掌握服務(wù)端開發(fā)的相關(guān)知識(shí)和方法。

第二分:服務(wù)端典型問題的解決方案

針對(duì)高并發(fā)、高性能、高可用、緩存、數(shù)據(jù)一性、冪等、等服務(wù)端開發(fā)實(shí)踐中的典型問題,給出了對(duì)應(yīng)的解決方案和開發(fā)規(guī)范,同時(shí)還結(jié)合案例深入分析了不同方案的缺點(diǎn)。此外,還總結(jié)了接口設(shè)計(jì)、日志打印、異常處理、代碼編寫、代碼注釋等落地層面的行業(yè)案例和規(guī)范。




本書贊譽(yù)

前 言

第一分 技術(shù)與方法

第1章 走進(jìn)服務(wù)端開發(fā)  2

1.1 服務(wù)端開發(fā)概述  2

1.1.1 服務(wù)端開發(fā)的定義  2

1.1.2 服務(wù)端開發(fā)的職責(zé)  4

1.2 服務(wù)端開發(fā)技術(shù)棧  5

1.2.1 編程語言  5

1.2.2 開發(fā)工具  6

1.2.3 開發(fā)框架  8

1.2.4 數(shù)據(jù)庫與數(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ù)端開發(fā)核心流程  24

1.3.1 需求分析  24

1.3.2 抽象建?! ?6

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ù)端開發(fā)進(jìn)路徑  33

1.4.1 構(gòu)建模型  33

1.4.2 業(yè)知識(shí)體系化  34

1.4.3 掌握學(xué)方法  35

1.4.4 技術(shù)與業(yè)務(wù)同行  36

1.4.5 樹立正確的觀念  37

第2章 需求分析  39

2.1 需求分類  39

2.1.1 產(chǎn)品需求  40

2.1.2 技術(shù)需求  40

2.2 需求分析的流程  40

2.2.1 學(xué)領(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ū)ο蠓治龇ā ?5

2.4 需求分析的重點(diǎn)和難點(diǎn)  56

2.4.1 統(tǒng)一語言  56

2.4.2 識(shí)別問題  57

2.4.3 數(shù)據(jù)分析  58

2.4.4 細(xì)節(jié)陷阱  59

第3章 抽象建?! ?1

3.1 抽象思維  61

3.1.1 軟件中的抽象  61

3.1.2 提升抽象思維的方法  63

3.2 建模方法  65

3.2.1 問題空間和解決方案空間  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 建?;A(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ù)庫的分類  120

5.2.1 關(guān)系型數(shù)據(jù)庫  121

5.2.2 NoSQL數(shù)據(jù)庫  122

5.2.3 NewSQL數(shù)據(jù)庫  123

5.3 常用數(shù)據(jù)庫及其適用場(chǎng)景  124

5.3.1 常用的關(guān)系型數(shù)據(jù)庫  124

5.3.2 常用的NoSQL數(shù)據(jù)庫  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 讀寫分離  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 語句設(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ā)問題及解決方案  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 客戶端削峰  205

7.5 服務(wù)降級(jí)策略  206

7.5.1 降級(jí)范圍  207

7.5.2 降級(jí)的分類  207

7.6 限流策略  208

7.7 基本原則  208

第8章 緩存的典型問題及解決

方案  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 過期時(shí)間化策略  225

8.4.4 加鎖重建策略  226

8.5 緩存穿透  227

8.5.1 緩存空值策略  227

8.5.2 布隆過濾器策略  227

8.5.3 布谷鳥過濾器策略  231

8.6 緩存熱點(diǎn)  232

8.6.1 前置緩存策略  232

8.6.2 熱點(diǎn)散列策略  233

第9章 緩存數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)一性

問題及解決方案  235

9.1 CAP 理論簡(jiǎn)介  235

9.1.1 CAP定義解讀  235

9.1.2 三個(gè)核心需求不可兼得  236

9.2 緩存數(shù)據(jù)與數(shù)據(jù)庫數(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 點(diǎn)與不足  244

9.4 基于binlog異步刪除緩存  244

9.4.1 MySQL主從同步原理  244

9.4.2 感知數(shù)據(jù)庫變更  246

9.4.3 客戶端訂閱變更  246

9.4.4 消息隊(duì)列訂閱變更  247

9.4.5 刪除緩存  249

9.5 自動(dòng)過期加失敗補(bǔ)償  250

第10章 分布式系統(tǒng)冪等問題及

解決方案  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 客戶端與服務(wù)端冪等  266

10.4.2 服務(wù)端系統(tǒng)間冪等  268

10.5 冪等注意事項(xiàng)  268

第11章 系統(tǒng)關(guā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)的運(yùn)作全景圖  275

11.2.1 模型  275

11.2.2 扣減模式  276

11.2.3 扣減執(zhí)行流程  276

11.2.4 查詢  277

11.2.5 核心鏈路  277

11.3 架構(gòu)演進(jìn)  279

11.3.1 獨(dú)立主機(jī)  279

11.3.2 分庫分表  280

11.3.3 熱點(diǎn)處理  280

11.4 單元化  282

11.4.1 中心化烏云  282

11.4.2 化困境  285

11.4.3 單元封閉  285

11.4.4 全局與局  287

11.4.5 回收難點(diǎn)  290

11.4.6 全局可見性  292

第12章 常見性能瓶頸及解決

方案  294

12.1 軟件性能概述  294

12.1.1 如何理解軟件性能  294

12.1.2 軟件性能評(píng)指標(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 磁盤  312

12.4.1 Linux I/O?! ?13

12.4.2 磁盤交互  315

12.4.3 主要性能指標(biāo)  318

12.4.4 瓶頸表征及解決方案  319

第13章 高可用問題及解決方案  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 無狀態(tài)服務(wù)  329

13.4.2 集群署  331

13.4.3 依賴處理  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ù)端開發(fā)實(shí)用規(guī)范  349

14.1 實(shí)用API設(shè)計(jì)規(guī)范  349

14.1.1 明確邊界  349

14.1.2 “命令,不要去詢問”

原則  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í)用代碼編寫規(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ī)寫法  371

14.5.5 對(duì)外API  372

14.5.6 法律文件  373


服務(wù)端開發(fā) 技術(shù)方法與實(shí)用解決方案的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
潼关县| 同德县| 扎囊县| 赤峰市| 张家港市| 明水县| 阿瓦提县| 休宁县| 兴仁县| 宜昌市| 鹤壁市| 普兰县| 永康市| 曲阜市| 银川市| 夹江县| 巴塘县| 武穴市| 鲜城| 周口市| 黔西| 卓资县| 辽宁省| 怀仁县| 玉屏| 绍兴市| 汝阳县| 兖州市| 偏关县| 德保县| 西林县| 武强县| 莒南县| 湘潭市| 永顺县| 仪陇县| 泗洪县| 太康县| 温宿县| 靖江市| 嘉定区|