因特網創業核心技術:構建可伸縮的web應用 互联网创业核心技术:构建可伸缩的web应用

阿特·艾斯蒙特 (Artur Ejsmont)

  • 出版商: 機械工業
  • 出版日期: 2016-12-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 318
  • 裝訂: 平裝
  • ISBN: 7121301121
  • ISBN-13: 9787121301124
  • 相關分類: Java 程式語言
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

<內容簡介>

《大型網站技術架構:核心原理與案例分析》作者李智慧的翻譯力作!讀透一本好書,少走十年彎路。對於創業人來說,在瞬息萬變的移動因特網世界求生存,寸秒就是寸金!如何在創業之初,就構建好適合業務長遠發展的技術架構:以不變應萬變、以可伸縮性對抗變化莫測的業務需求,為自己的發展贏得時間、為產品創造優秀的用戶體驗?本書針對此痛點,給出了適切中肯的建議。作者深入闡述了設計原則、前端層、Web服務、數據存儲層、緩存、異步處理等核心概念與技術,針對可能發生的問題一一剖析,為讀者勾勒出了簡明清晰的技術框架圖。相信《因特網創業核心技術:構建可伸縮的Web應用》 可以成為開啟讀者可伸縮架構設計之旅的一個里程碑。閱讀本書並不需要擁有任何特定的編程技能,諸如Java、PHP、JavaScript、C#或者Ruby,因為伸縮性是Web應用開發中一個通用的挑戰,與具體語言無關。

<章節目錄>

1核心概念
什麼是伸縮性
從單一服務器到全球用戶的Web架構演化
單一服務器
使用更強的服務器:垂直伸縮
服務分離
內容分發網絡:靜態內容的伸縮性
分散訪問流量:水平伸縮
服務全球用戶的伸縮性架構
數據中心基礎設施架構概覽
前端
Web應用層
Web服務層
附加組件
數據持久層
數據中心基礎架構
應用架構概覽
前端
Web服務
支撐技術
小結
2軟件設計原則
簡單
隱藏複雜與構建抽象
避免過度設計
嘗試測試驅動開發
從軟件設計的簡化範例中學習
低耦合
促進低耦合
避免不必要的耦合
低耦合範式
不要重複自己(DRY)
複製粘貼代碼
基於約定編程
畫架構圖
用例圖
類圖
模塊圖
單一職責
改善單一職責
單一職責的例子
開閉原則
依賴註入
控制反轉(IOC)
為伸縮而設計
增加副本
功能分割
數據分片
自愈設計
小結
3構建前端層
狀態管理
管理HTTP會話
管理文件
管理其他類型的狀態
可伸縮的前端組件
DNS
負載均衡器
Web服務器
緩存
自動伸縮
部署案例
AWS場景
私有數據中心
小結
4web服務
Web服務設計
Web服務作為一種備用表示層
API優先方式
務實的方式
Web服務類型
以功能為中心的服務
以資源為中心的服務
伸縮RESTWeb服務
保持服務無狀態
緩存服務響應
功能分割
小結
5數據存儲層
MySQL伸縮性
複製
數據分區(分片)
NoSQL伸縮性
最終一致性
快速恢復增加可用性
Cassandra拓撲結構
小結
6緩存
緩存命中率
基於HTTP的緩存
HTTP緩存頭
HTTP緩存技術類型
伸縮HTTP緩存
緩存應用對象
對象緩存的一般類型
伸縮對象緩存
緩存的經驗法則
緩存整個調用棧
用戶間緩存重用
從哪兒開始使用緩存?
緩存失效的困難
小結
7異步處理
核心概念
同步處理的例子
異步處理的例子
購物類比
消息隊列
消息生產者
消息代理
消息消費者
消息協議
消息基礎設施
消息隊列的好處
實現異步處理
更好的伸縮性
平衡流量峰值
失敗隔離和自我修復
解耦
消息隊列相關的挑戰
消息無序
消息重新入隊列
競態條件可能性增大
複雜度風險
消息隊列有關的反模式
將消息隊列當作TCP套接字
將消息隊列當作數據庫
耦合消息生產者和消費者
缺少壞消息處理
消息平臺快速比較與選擇
亞馬遜簡單隊列服務
RabbitMO
ActiveMO
最後的比較說明
事件驅動架構介紹
請求/響應交互
直接隊列交互
事件驅動交互
小結
8數據搜索
索引介紹
數據建模
NoSQL數據建模
寬列數據存儲的例子
搜索引擎
搜索引擎介紹
使用專用搜索引擎
小結
9伸縮性的其他維度
自動化實現生產力可伸縮
測試
構建與部署
監控與報警
日誌聚合
個人可伸縮
加班不是一種伸縮性方案
自我管理
伸縮敏捷團隊
增加人手
流程與創新
團結的文化
小結
A推薦閱讀