基於 .NET Core 的高性能 Web 系統設計與開發技術
內容描述
.NET Core是一種可以在桌面應用、服務雲、物聯網方案中使用的高性能開源框架,由開銷很小的模塊化組件構成。.
NET Core 應用程序和服務可以在Windows、Mac和Linux上跨平台開發、運行和部署。
本書通過分析高並發系統存在的瓶頸,提出了一種支持超大規模和高並發訪問的高性能Web項目架構,
並給出了該架構的總體設計、身份認證、業務系統開發和消息轉發等基本子系統的模板,及其採用的關鍵技術,
包括分佈式靜態文件系統、數據庫集群技術、Web API開放方法、機器學習框架、IDS身份認證。
本書還論述了開發項目採用的版本控制與項目管理方法,以及項目部署和負載均衡技術。
本書可作為高等院校信息類專業本科Web應用開發課程的教材或實踐指導書,
也可作為.NET Core應用開發程序員的參考書。
目錄大綱
目錄
前言
第1章高性能Web項目架構
1.1小型項目的系統架構
1.2高並發系統存在的瓶頸
1.3知名互聯網公司網站架構圖
1.3.1 WikiPedia技術架構
1.3.2 Facebook技術架構
1.3.3 Yahoo! Mail技術架構
1.3 .4 Twitter技術架構
1.3.5 Google App Engine技術架構
1.3.6 Amazon技術架構
1.3.7優酷網技術架構
1.4大型網站架構體系的演變
1.5一種支持超大規模高並發的高性能Web項目架構設計
第2章Web站點的設計與開發
2.1系統開發的總體設計
2.2共享庫—.NET Standard類庫
2.3統一身份認證系統IDS
2.4業務服務器的開發與集成
2.5即時消息服務器eChat
2.5.1即時通信技術的發展
2.5. 2即時通信技術
2.5.3即時通信技術的實現之一——SingalR
2.5.4 eChat系統體系結構
2.5.5關鍵技術剖析
第3章分佈式靜態文件系統
3.1技術相關
3.2系統設計
3.3系統實現
3.3.1負載均衡子系統
3.3.2文件管理子系統
3.3.3數據庫子系統
3.3.4文件存儲子系統CoDFSStorage
第4章高性能數據庫集群技術
4.1高性能數據庫集群:讀寫分離
4.2 MySQL Cluster(分佈式數據庫集群)的搭建
4.2.1概述
4.2.2環境說明
4.2.3安裝MySQL Cluster
4.2.4配置安裝管理節點
4.2.5配置安裝數據節點
4.2.6配置安裝SQL節點
4.2.7測試
4.2.8啟動和停止集群
第5章開放系統的Web API
5.1 WCF、WCF Rest、Web Service和Web API
5.2開放系統的Web API
5.3 Web API的遠程調用
5.3.1網頁中的調用方法
5.3.2應用客戶端中的調用
第6章系統中融入人工智能
6.1 ML.NET
6.1.1 ML.NET概述
6.1.2借助ML.NET使用聚類分析學習器對鳶尾花進行分類
6.2 Accord.NET
6.2.1 Accord.NET簡介
6.2. 2 Accord.NET示例
第7章大規模並發訪問的請求串行化與消息隊列
7.1需要消息隊列的原因
7.1.1異步處理
7.1.2應用解耦
7.1.3流量削峰
7.1.4日誌處理
7.1. 5消息通信
7.2消息隊列技術的介紹和原理
7.2.1消息中間件概述
7.2.2 MQ的工作原理
7.2.3常用消息隊列
7.3高性能Web系統中的消息隊列技術
7.3.1在項目的部署環境下安裝和啟用RabbitMQ
7.3.2 .NET Core項目中使用RabbitMQ
第8章項目的安全保證機制
8.1數據的散列與加密
8.1.1 MD
8.1.2對稱加密技術
8.2接口的安全令牌
8.2.1非對稱加密技術
8.2.2 Web API的安全令牌
8.3基於IDS的系統認證安全
第9章項目開發中的源代碼版本控制與項目管理
9.1常用版本控制系統的比較
9.2項目開發中的版本控制
9.2.1 Git、GitHub與GitLab
9.2.2使用Docker部署GitLab
9.2.3 GitLab多人協作開發
9.3項目管理與OnlyOffice
9.3.1安裝OnlyOffice在線協作辦公平台
9.3.2 OnlyOffice中的項目管理功能
第10章項目部署與負載均衡技術
10.1基於Docker的項目部署
10.1.1 Docker概述[14]
10.1.2 Docker的優勢
10.1.3 Docker引擎
10.1.4 Docker構架
10.1.5基於Docker的項目部署
10.2負載均衡服務器
10.2. 1需要負載均衡的原因
10.2.2高並發解決方案中的負載均衡
10.2.3使用Nginx實現負載均衡
參考文獻