用簡單的方式建構高性能服務架構不再是夢想,高吞吐量、快取設計、分層設計,讓你的網站及應用服務的價值及穩定度再度昇華
本書是理論結閤實際的軟體架構設計指導手冊,旨在幫助讀者完成高性能軟體係統的架構設計工作。
書中涉及分散式、併發程式設計、資料庫最佳化、快取、IO、前端性能最佳化等方麵的理論知識,並在理論知識的基礎上推導其實踐技巧。本書最後還運用書中知識,完成瞭一個實際軟體專案的架構設計工作,極適閤軟體架構師、工程師、學生閱讀,以幫助其完善軟體發展知識體係和提升其軟體架構設計能力。
全書共12章,內容如下
■ 第 1 章 高性能和架構
包括高性能代錶的具體指標,架構的具體含義與主要內容。
■ 第 2 章 分流設計
即如何使用內容分發網路、多位址直連、反嚮代理等手段將使用者的請求分散到不同的係統上,從而降低每個係統的併發數。
■ 第 3 章 服務平行相關的設計
首先,介紹瞭平行與併發的概念。其次,在此基礎上介紹瞭叢集係統、分散式係統、微服務係統。包括各類別係統的特點、實現睏難等。服務平行設計能夠進一步將係統內的請求進行分流,從而提升係統性能。
■ 第 4 章 多進行、多執行緒、多程式碼協同等運算併發手段
尤其是對常見的多執行緒進行瞭深入介紹,包括執行緒的狀態轉換、應用場景、使用方法、協作方法等。透過運算併發設計,能夠顯著提升係統的併發能力。
■ 第 5 章 輸入輸齣設計
首先介紹瞭IO的分類別維度、層級。然後詳細介紹瞭常見的五種IO模型,包括這些模型之間的演化邏輯,並列齣瞭這些模型的實際使用範例。
■ 第 6 章 資料庫設計與最佳化手段
從最基本的關聯式資料庫設計開始,介紹瞭關聯式資料庫設計的設計範式、反範式。在此基礎上,還介紹瞭各類別索引的原理、使用條件,各類別鎖的特點,鎖死的產生與解除,交易及其隔離等級等。在章節的最後還介紹瞭針對巨量儲存資料時資料庫該如何最佳化,以及一些非傳統的資料庫和資料庫中介軟體。
■ 第 7 章 快取設計的方法和技巧。
這一章從快取的收益說起,推導提升快取收益的方法。然後在此基礎上,列齣瞭提升快取收益的具體實施手段,包括快取要素的設計、更新機製的設計、清理機製的設計、風險點的處理、位置的設計等。最後還介紹瞭寫快取的收益計算和實踐方案。
■ 第 8 章 係統可靠性設計的相關知識
首先,介紹瞭可靠性的概念與具體的衡量指標。其次,在此基礎上介紹瞭提升係統可靠性的手段。這一章將幫助我們建構高可靠性的係統。
■ 第 9 章 應用保護的基礎知識和實踐手段
這些知識和手段能提升應用在突發狀況下的工作狀況。
■ 第 10 章 前端高性能的相關知識
這是一個相對獨立的一章。首先,分析瞭前端工作過程中的性能關鍵點。其次,針對這些關鍵點列齣瞭前端性能最佳化的手段。具有較強的綜閤性和指導性。
■ 第 11 章架 構設計中架構設計風格和軟體生命週期的基礎知識
這些知識將指導我們係統化地進行軟體架構工作。
■ 第 12 章 項目實踐
本章以前麵各章介紹的高性能架構知識為依據,完整地開展瞭一個高性能軟體係統的架構工作,包括理論推導、模型設計、概要設計、詳細設計等各個環節,介紹瞭一個完整的高性能架構過程。本章的內容能幫助讀者學會如何在實踐中靈活運用前麵各章的知識。