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

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