![](/c3/66226746398.jpg)
出版社:人民郵電出版社 ISBN:9787115529862 商品編碼:66226746398 品牌:文軒 出版時間:2020-01-01 代碼:89 作者:邁克爾·尼加德(MichaelT.Nygar
"![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:(美)邁克爾·尼加德(Michael T.Nygard) 著 吾真本 譯 定 價:89 出 版 社:人民郵電出版社 出版日期:2020年01月01日 頁 數:271 裝 幀:平裝 ISBN:9787115529862 ●第1章生產環境的生存法則1 1.1瞄準正確的目標1 1.2應對不斷擴大的挑戰範圍2 1.3多花來103 1.4讓“原力”與決策同在4 1.5設計務實的架構4 1.6小結5 第一部分創造穩定性7 第2章案例研究:讓航空公司停飛的代碼異常8 2.1進行變更9 2.2遭遇停機10 2.3嚴重後果12 2.4事後分析12 2.5尋找線索13 2.6證據確鑿16 2.7預防管用嗎18 第3章讓繫統穩定運行19 3.1定義穩定性20 3.2延長繫統壽命20 3.3繫統失效方式21 3.4阻止裂紋蔓延22 3.5繫統失效鏈23 3.6小結24 第4章穩定性的反模式25 4.1集成點26 4.1.1套接字協議29 4.1.2凌晨5點的緊急電話31 4.1.3HTTP協議35 4.1.4供應商的API程序庫36 4.1.5應對集成點的問題37 4.1.6要點回顧37 4.2同層連累反應38 4.3層疊失效41 4.4用戶42 4.4.1網絡流量42 4.4.2難伺候的用戶46 4.4.3不受歡迎的用戶47 4.4.4惡意用戶50 4.4.5要點回顧51 4.5線程阻塞51 4.5.1發現阻塞53 4.5.2程序庫55 4.5.3要點回顧56 4.6自黑式攻擊57 4.6.1避免自黑式攻擊57 4.6.2要點回顧58 4.7放大效應58 4.7.1點對點通信59 4.7.2共享資源60 4.7.3要點回顧61 4.8失衡的繫統容量62 4.8.1通過測試發現繫統容量失衡63 4.8.2要點回顧63 4.9一窩蜂64 4.10做出誤判的機器66 4.10.1被放大的停機事故66 4.10.2控制和防護措施69 4.10.3要點回顧69 4.11緩慢的響應70 4.12無限長的結果集71 4.12.1黑色星期一71 4.12.2要點回顧73 4.13小結74 第5章穩定性的模式75 5.1超時75 5.2斷路器78 5.3艙壁80 5.4穩態83 5.4.1數據清除84 5.4.2日志文件85 5.4.3內存中的緩存86 5.4.4要點回顧86 5.5快速失敗87 5.6任其崩潰並替換89 5.6.1有限的粒度89 5.6.2快速替換90 5.6.3監管90 5.6.4重新歸隊91 5.6.5要點回顧91 5.7握手91 5.8考驗機93 5.9中間件解耦96 5.10卸下負載98 5.11背壓機制99 5.12調速器101 5.13小結102 第二部分為生產環境而設計103 第6章案例研究:屋漏偏逢連夜雨104 6.1寶寶的第一個感恩節105 6.2把脈106 6.3感恩節106 6.4黑色星期五107 6.5生命體征108 6.6進行診斷109 6.7求助專家110 6.8如何應對111 6.9應對奏效嗎111 6.10尾聲112 第7章基礎層114 7.1數據中心和雲端的聯網115 7.1.1網卡和名字116 7.1.2多網絡編程118 7.2物理主機、虛擬機和容器119 7.2.1物理主機119 7.2.2數據中心的虛擬機119 7.2.3數據中心的容器120 7.2.4雲上的虛擬機123 7.2.5雲上的容器125 7.3小結125 第8章實例層126 8.1代碼128 8.1.1構建代碼128 8.1.2不可變、易處理的基礎設施129 8.2配置130 8.2.1配置文件131 8.2.2易處理基礎設施的配置131 8.3明晰性132 8.3.1明晰性設計133 8.3.2提升明晰性的實現技術134 8.3.3記錄日志134 8.3.4實例的健康度量指標137 8.3.5健康狀況檢查138 8.4小結138 第9章互連層139 9.1不同規模的解決方案139 9.2使用DNS140 9.2.1基於DNS的服務發現140 9.2.2基於DNS的負載均衡141 9.2.3基於DNS的GSLB142 9.2.4DNS的可用性144 9.2.5要點回顧144 9.3負載均衡144 9.3.1軟件負載均衡145 9.3.2硬件負載均衡146 9.3.3健康狀況檢查147 9.3.4會話黏性147 9.3.5按請求類型分隔流量148 9.3.6要點回顧148 9.4控制請求數量148 9.4.1繫統為何會失效149 9.4.2防止災難150 9.4.3要點回顧151 9.5網絡路由151 9.6發現服務153 9.7遷移虛擬IP地址154 9.8小結155 第10章控制層156 10.1適合的控制層工具156 10.2機械效益157 10.2.1屬於繫統失效,而非人為錯誤158 10.2.2運行得太快也有問題158 10.3平臺和生態繫統159 10.4開發環境就是生產環境160 10.5整個繫統的明晰性161 10.5.1真實用戶監控162 10.5.2經濟價值高於技術價值162 10.5.3碎片化的風險164 10.5.4日志和統計信息164 10.5.5要監控什麼165 10.6配置服務166 10.7環境整備和部署服務167 10.8命令與控制169 10.8.1要控制什麼169 10.8.2發送命令170 10.8.3可編寫腳本的界面170 10.8.4要點回顧171 10.9平臺廠商171 10.10工具清單172 10.11小結172 第11章安全性173 11.1OWASP十大安全漏洞173 11.1.1注入174 11.1.2失效的身份驗證和會話管理175 11.1.3跨站腳本攻擊178 11.1.4失效的訪問控制179 11.1.5安全配置出現失誤181 11.1.6敏感數據洩露182 11.1.7防範攻擊不足183 11.1.8CSRF183 11.1.9使用含有已知漏洞的組件184 11.1.10API保護不足185 11.2最小特權原則186 11.3密碼的配置187 11.4安全即持續的過程187 11.5小結188 第三部分將繫統交付189 第12章案例研究:等待戈多190 第13章為部署而設計193 13.1機器與服務193 13.2計劃停機時間的謬誤193 13.3自動化部署194 13.4持續部署197 13.5部署中的各個階段198 13.5.1關繫數據庫模式200 13.5.2無模式數據庫202 13.5.3Web資源205 13.5.4推出新代碼206 13.5.5清理208 13.6像行家一樣部署209 13.7小結210 第14章處理版本問題211 14.1幫助他人處理版本問題211 14.1.1不會破壞API的變更211 14.1.2破壞API的變更215 14.2處理其他繫統的版本問題217 14.3小結219 第四部分解決繫統性問題221 第15章案例研究:不能承受的巨大顧客流量222 15.1即將開始後推出新繫統222 15.2以QA測試為目標223 15.3負載測試225 15.4被眾多因素所害227 15.5測試仍然有差距229 15.6善後229 第16章適應性232 16.1努力與回報的關繫232 16.2過程和組織233 16.2.1平臺團隊235 16.2.2愉快地發布236 16.2.3演化最重要的部分是滅絕237 16.2.4在團隊級別實現自治239 16.2.5謹防高效率240 16.2.6過程和組織小結242 16.3繫統架構242 16.3.1演進式架構242 16.3.2松散的集群245 16.3.3顯式上下文246 16.3.4創造更多選項247 16.3.5繫統架構小結252 16.4信息架構252 16.4.1消息、事件和命令253 16.4.2讓服務自己控制其資源的標識符254 16.4.3URL的兩重性256 16.4.4擁抱多義性259 16.4.5避免概念洩露260 16.4.6信息架構小結261 16.5小結261 第17章混沌工程262 17.1不可能構建第二個Facebook去做測試262 17.2混沌工程的先驅263 17.3猴子軍團264 17.4使用自己的混沌猴265 17.4.1先決條件266 17.4.2設計實驗266 17.4.33種混沌注入267 17.4.4有針對性地注入混沌268 17.4.5自動和重復269 17.5從人的方面模擬災難270 17.6小結271 作者根據自己的親身經歷和某些大型企業的案例,講述了如何創建高穩定性的軟件繫統,分析了設計和實現中導致繫統出現問題的原因。全書分為四個部分,每部分內容都由一個研究案例引出。第一部分介紹了如何保證繫統的生存,即維護繫統正常運行。第二部分介紹了為生產環境而設計,從基礎層、實例層、互連層和控制層等方面構建繫統安全性。第三部分講述了交付繫統,列出繫統在部署過程中有可能出現的問題。第四部分引入適用性和混沌工程的概念,討論了如何解決繫統性問題。 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |