基于.NET Core框架的分布式系統(tǒng)架構(gòu)設(shè)計(jì)

-
【作 者】湯佳 著
【I S B N 】978-7-5226-0303-2
【責(zé)任編輯】陳紅華
【適用讀者群】
【出版時(shí)間】2022-04-28
【開(kāi) 本】16開(kāi)
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】248
【千字?jǐn)?shù)】234
【印 張】15.5
【定 價(jià)】¥84
【叢 書(shū)】暫無(wú)分類(lèi)
【備注信息】
簡(jiǎn)介
本書(shū)特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書(shū)
本書(shū)以C#為編程語(yǔ)言,全面介紹了.NET Core開(kāi)發(fā)和設(shè)計(jì)高性能Web系統(tǒng)的核心關(guān)鍵技術(shù),同時(shí)介紹了版本控制、項(xiàng)目管理等開(kāi)發(fā)中的軟件工程技術(shù)。全書(shū)共有9章,主要內(nèi)容有Web項(xiàng)目架構(gòu)簡(jiǎn)介、架構(gòu)體系的演變歷程、分布式系統(tǒng)理論、分布式文件存儲(chǔ)系統(tǒng)、內(nèi)存知識(shí)進(jìn)階、數(shù)據(jù)全文檢索、消息隊(duì)列中間件、微服務(wù)架構(gòu)、分布式站點(diǎn)的設(shè)計(jì)與開(kāi)發(fā)。
本書(shū)可作為高等院校信息類(lèi)專(zhuān)業(yè)本科Web應(yīng)用開(kāi)發(fā)課程的教材或?qū)嵺`指導(dǎo)書(shū),也可作為.NET Core開(kāi)發(fā)和應(yīng)用開(kāi)發(fā)程序員的參考書(shū)。
前 言
眾所周知,現(xiàn)代的軟件開(kāi)發(fā)通常會(huì)從下向上抽象為系統(tǒng)層、中間層和應(yīng)用層。中間層和系統(tǒng)層是支撐體系的基礎(chǔ),而且更封閉或狹窄,需要人耐得住寂寞,經(jīng)受得起考驗(yàn),所以在這個(gè)領(lǐng)域出了很多“大牛”。大部分程序員都是為“應(yīng)用”而生的,畢竟工程要落地在實(shí)際業(yè)務(wù)應(yīng)用上才有立足之本,有了應(yīng)用才有更多商業(yè)價(jià)值,“碼農(nóng)”才能養(yǎng)家糊口,所以應(yīng)用層就如同實(shí)踐領(lǐng)域一般,相對(duì)不那么容易出“大神”。軟件開(kāi)發(fā)的教父級(jí)人物—Martin Fowler是應(yīng)用層罕見(jiàn)的“大神”,他將軟件開(kāi)發(fā)的實(shí)踐過(guò)程抽象總結(jié)并形成實(shí)踐“概念”。他提出的微服務(wù)架構(gòu)是一個(gè)分布式系統(tǒng)架構(gòu),按業(yè)務(wù)領(lǐng)域劃分為獨(dú)立的服務(wù)單元,滿足越來(lái)越復(fù)雜的業(yè)務(wù)需求,并且可以自動(dòng)化運(yùn)維、容錯(cuò)、快速演進(jìn)。微服務(wù)是“互聯(lián)網(wǎng)+時(shí)代”催生的一種設(shè)計(jì)思想和理念。隨著業(yè)務(wù)場(chǎng)景越來(lái)越復(fù)雜,云計(jì)算、大數(shù)據(jù)、區(qū)塊鏈、人工智能飛速發(fā)展,對(duì)系統(tǒng)架構(gòu)提出了越來(lái)越高的要求,我們?cè)瓉?lái)使用的單體架構(gòu)已經(jīng)不能滿足工作場(chǎng)景的需求,本書(shū)應(yīng)運(yùn)而生,Martin Fowler的“敏捷開(kāi)發(fā)方法論”理念給了我巨大的啟發(fā)。
本書(shū)主要講解了分布式架構(gòu)層級(jí)、分布式和集群的概念、分布式架構(gòu)解決的問(wèn)題、分布式架構(gòu)的優(yōu)點(diǎn)、分布式系統(tǒng)的關(guān)鍵技術(shù)、分布式系統(tǒng)核心。本書(shū)從多個(gè)維度全面剖析分布式系統(tǒng)全棧技術(shù),呈現(xiàn)分布式系統(tǒng)架構(gòu)的多樣性和完整性。
本書(shū)結(jié)合作者多年實(shí)戰(zhàn)經(jīng)驗(yàn),注重基礎(chǔ)知識(shí),兼顧實(shí)用能力培養(yǎng),技術(shù)全面,可讀性強(qiáng),既可作為高校計(jì)算機(jī)專(zhuān)業(yè)本、專(zhuān)科學(xué)生的學(xué)習(xí)資料,又可供計(jì)算機(jī)、力學(xué)、物理學(xué)科各專(zhuān)業(yè)選用及社會(huì)讀者閱讀。由于編寫(xiě)時(shí)間有限,內(nèi)容略顯陳舊,案例略顯枯燥,技術(shù)條理性不夠清晰,希望廣大讀者給予批評(píng)指正。
作者
2021年10月
第1章 Web項(xiàng)目架構(gòu)簡(jiǎn)介 1
1.1 經(jīng)典三層架構(gòu)模式 1
1.2 工廠模式簡(jiǎn)介 5
1.3 高并發(fā)系統(tǒng)存在的瓶頸 9
1.4 大型互聯(lián)網(wǎng)公司系統(tǒng)架構(gòu)圖 12
1.4.1 WikiPedia 技術(shù)架構(gòu) 12
1.4.2 Facebook架構(gòu) 13
1.4.3 Yahoo! Mail架構(gòu) 14
1.4.4 Twitter技術(shù)架構(gòu) 15
1.4.5 Google App Engine技術(shù)架構(gòu) 17
1.4.6 Amazon技術(shù)架構(gòu) 18
1.4.7 優(yōu)酷的技術(shù)架構(gòu) 20
1.4.8 12306的技術(shù)架構(gòu) 24
第2章 架構(gòu)體系的演變歷程 27
2.1 單機(jī)構(gòu)建網(wǎng)站 27
2.2 應(yīng)用服務(wù)器與數(shù)據(jù)庫(kù)分離 28
2.3 應(yīng)用服務(wù)器負(fù)載均衡 29
2.4 數(shù)據(jù)庫(kù)讀寫(xiě)分離 30
2.5 引入搜索引擎實(shí)現(xiàn)全文搜索 31
2.6 引入緩存 32
2.7 數(shù)據(jù)庫(kù)拆分 34
2.8 應(yīng)用拆分 35
2.9 引入消息中間件 37
2.10 分布式系統(tǒng)架構(gòu)設(shè)計(jì) 38
第3章 分布式系統(tǒng)理論 44
3.1 分布式系統(tǒng)的設(shè)計(jì)理念 44
3.2 分布式系統(tǒng)原理 46
3.3 ZooKeeper原理及應(yīng)用 49
3.3.1 ZooKeeper的原理與功能 49
3.3.2 ZooKeeper的應(yīng)用場(chǎng)景 52
3.4 CAP理論 55
3.5 BASE準(zhǔn)則 57
3.6 分布式事務(wù) 59
3.6.1 數(shù)據(jù)庫(kù)單機(jī)事務(wù) 59
3.6.2 X/OpenDTP事務(wù)模型 60
3.6.3 分布式事務(wù)解決方案 63
第4章 分布式文件存儲(chǔ)系統(tǒng) 69
4.1 數(shù)據(jù)存儲(chǔ)技術(shù)相關(guān)知識(shí) 69
4.2 NFS網(wǎng)絡(luò)文件系統(tǒng) 77
4.3 分布式文件系統(tǒng) 79
4.4 GlusterFS分布式文件系統(tǒng) 82
4.5 Ceph分布式文件存儲(chǔ)系統(tǒng) 84
4.6 CoDFS分布式文件系統(tǒng) 91
4.7 系統(tǒng)實(shí)現(xiàn) 93
4.7.1 負(fù)載均衡子系統(tǒng) 93
4.7.2 文件管理子系統(tǒng) 96
4.7.3 數(shù)據(jù)庫(kù)子系統(tǒng) 98
4.7.4 文件存儲(chǔ)子系統(tǒng)CoDFSStorage 100
第5章 內(nèi)存知識(shí)進(jìn)階 104
5.1 內(nèi)存基本知識(shí) 104
5.1.1 錯(cuò)綜復(fù)雜的CPU與簡(jiǎn)單的內(nèi)存 104
5.1.2 多核CPU與內(nèi)存共享問(wèn)題 106
5.1.3 著名的Cache偽共享問(wèn)題 110
5.1.4 深入理解不一致性內(nèi)存 112
5.2 內(nèi)存發(fā)展歷史 115
5.3 內(nèi)存緩存技術(shù) 122
5.3.1 緩存概述 122
5.3.2 緩存實(shí)現(xiàn)的方式 124
5.3.3 Memcache的內(nèi)存管理技術(shù) 126
5.3.4 Redis解析 128
5.4 內(nèi)存計(jì)算產(chǎn)品 130
5.4.1 SAP HANA 130
5.4.2 Hazelcast 133
5.4.3 VoltDB 135
第6章 數(shù)據(jù)全文檢索 138
6.1 Lucene全文檢索 139
6.2 Solr全文檢索 142
6.3 ElasticSearch全文檢索 146
第7章 消息隊(duì)列中間件 155
7.1 消息隊(duì)列 155
7.2 需要消息隊(duì)列的原因 159
7.2.1 異步處理 160
7.2.2 應(yīng)用解耦 162
7.2.3 流量削峰 163
7.2.4 日志處理 164
7.2.5 消息通信對(duì) 165
7.3 消息隊(duì)列技術(shù)的介紹和原理 166
7.3.1 消息中間件概述 166
7.3.2 MQ的工作原理和基本配置舉例 170
7.3.3 常用消息隊(duì)列 173
第8章 微服務(wù)架構(gòu) 176
8.1 微服務(wù)架構(gòu)興起的原因 176
8.2 Docker容器技術(shù) 178
8.3 全面理解微服務(wù)架構(gòu) 182
8.4 常見(jiàn)微服務(wù)架構(gòu)方案 186
8.4.1 ZeroC IceGrid微服務(wù)架構(gòu) 186
8.4.2 Spring Cloud 微服務(wù)架構(gòu) 189
8.4.3 基于消息隊(duì)列的微服務(wù)架構(gòu) 191
8.4.4 Docker Swarm微服務(wù)架構(gòu) 192
第9章 分布式站點(diǎn)的設(shè)計(jì)與開(kāi)發(fā) 195
9.1 系統(tǒng)開(kāi)發(fā)的總統(tǒng)設(shè)計(jì) 195
9.2 共享庫(kù).NETStandard類(lèi)庫(kù) 196
9.3 統(tǒng)一身份認(rèn)證系統(tǒng) 215
9.4 業(yè)務(wù)服務(wù)器的開(kāi)發(fā)與集成 220
9.5 即時(shí)消息服務(wù)器eChat 221
9.5.1 即時(shí)通信技術(shù)的發(fā)展 221
9.5.2 即時(shí)通信技術(shù) 221
9.5.3 即時(shí)通信技術(shù)的實(shí)現(xiàn)—SingalR 224
9.5.4 系統(tǒng)體系結(jié)構(gòu)圖 225
9.5.5 關(guān)鍵技術(shù)剖析 227
9.6 WebAPI的遠(yuǎn)程調(diào)用 227
9.6.1 應(yīng)用客戶端中的調(diào)用 228
9.6.2 網(wǎng)頁(yè)中的調(diào)用方法 234
參考文獻(xiàn) 237
- Python程序設(shè)計(jì)案例教程(微課版) [主編 石利平 田輝平 余以勝]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與實(shí)訓(xùn)(第二版) [主編 倪燃]
- Python程序設(shè)計(jì)及實(shí)踐教程 [肖朝暉]
- C語(yǔ)言程序設(shè)計(jì) [魏琴 劉祖珉 趙仕波 肖陽(yáng)春]
- C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教程 [張小剛 司春景]
- 電氣控制與PLC程序設(shè)計(jì)(第二版) [胡冠山]
- Java Web項(xiàng)目化設(shè)計(jì)實(shí)踐教程 [邱云 曾陳萍]
- C語(yǔ)言程序設(shè)計(jì)(第三版) [主編 丁紅 王立新 蔡開(kāi)立]
- Python數(shù)據(jù)分析 [主編 馮志輝 趙磊 李放]
- Python程序設(shè)計(jì)與應(yīng)用(第二版) [主編 張廣淵]
- C程序設(shè)計(jì)實(shí)踐教程 [劉衛(wèi)國(guó)]
- C程序設(shè)計(jì)(慕課版) [劉衛(wèi)國(guó)]
- 程序設(shè)計(jì)基礎(chǔ)實(shí)踐教程(C/C++語(yǔ)言版) [張桂芬 葛麗娜]
- C++案例項(xiàng)目精講 [主編 楊國(guó)興]
- SwiftUI完全開(kāi)發(fā) [李智威 著]
- MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程 [陳亞峰]
- C語(yǔ)言程序設(shè)計(jì)習(xí)題與實(shí)驗(yàn)指導(dǎo)(第二版) [主編 甄增榮 張賓]
- C語(yǔ)言程序設(shè)計(jì)(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現(xiàn)實(shí)應(yīng)用開(kāi)發(fā)實(shí)踐 [主 編 劉龍]
- Python程序設(shè)計(jì) [主編 姜春磊 陳虹潔]
- C語(yǔ)言程序設(shè)計(jì)實(shí)踐教程(活頁(yè)式) [主編 鄭茵 陳巍 滕泓虬]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- Python程序設(shè)計(jì)基礎(chǔ)及實(shí)戰(zhàn) [主編 劉健]
- C語(yǔ)言程序設(shè)計(jì) [姜雪]
- Python程序設(shè)計(jì)實(shí)踐教程 [王鶴琴 蔡正保]
- C++程序設(shè)計(jì)實(shí)踐教程(第三版) [主編 劉衛(wèi)國(guó) 曹岳輝]
- C++程序設(shè)計(jì)(第三版) [主編 曹岳輝 劉衛(wèi)國(guó)]
- C語(yǔ)言程序設(shè)計(jì)項(xiàng)目化教程(活頁(yè)式) [主編 張利華 潘曉利]
- 機(jī)器人流程自動(dòng)化(RPA)實(shí)戰(zhàn)——基于UiPath [主編 金鑫]

- 教材類(lèi)more>>
- 教輔培訓(xùn)more>>
- 生活經(jīng)管more>>
- 黃河海勃灣水利樞紐防凌安全運(yùn)行
- 大學(xué)生心理健康教育
- 信息系統(tǒng)管理工程師章節(jié)習(xí)題與考點(diǎn)特訓(xùn)
- 網(wǎng)絡(luò)工程師真題及沖刺卷精析(適用機(jī)考
- 網(wǎng)絡(luò)工程師32小時(shí)通關(guān)(適配第6版考綱
- 計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)指導(dǎo)
- 用英語(yǔ)介紹中國(guó)經(jīng)典小故事
- 新概念英語(yǔ)單詞循環(huán)速記1:14天刻意練
- 新能源場(chǎng)站繼電保護(hù)傳動(dòng)作業(yè)指導(dǎo)書(shū)
- 高職院校“德技并修·三育協(xié)同”的育人
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師真題及模考卷精析(適用
- 涼山脫貧地區(qū)鄉(xiāng)村治理研究
- 中國(guó)—東盟競(jìng)技體育文化共同體研究
- 數(shù)值分析
- 用英語(yǔ)介紹中國(guó)(四六級(jí)版)
- 用英語(yǔ)介紹中國(guó)(第二版)