日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
大型分布式網站架構設計與實踐圖書
人氣:62

大型分布式網站架構設計與實踐

一線工作經驗總結,囊括大型分布式網站所需技術的全貌、架構設計的核心原理與典型案例、常見問題及解決方案,有細節、接地氣

內容簡介

《大型分布式網站架構設計與實踐》主要介紹了大型分布式網站架構所涉及的一些技術細節,包括SOA架構的實現、互聯網安全架構、構建分布式網站所依賴的基礎設施、系統穩定性保障和海量數據分析等內容;深入地講述了大型分布式網站架構設計的核心原理,并通過一些架構設計的典型案例,幫助讀者了解大型分布式網站設計的一些常見場景及遇到的問題。

作者結合自己在及網的實際工作經歷展開論述。《大型分布式網站架構設計與實踐》既可供初學者學習,幫助讀者了解大型分布式網站的架構,以及解決問題的思路和方法,也可供業界同行參考,給日常工作帶來啟發。

編輯推薦

《大型分布式網站架構設計與實踐》看點:

作者一直奮戰在Ali baba及Tao bao網一線,書中所講是其親身經驗的總結,顯得更加實戰和珍貴。

介紹大型分布式網站架構所涉及的技術細節,通過很多實踐案例盡量讓每一個關鍵的技術點都落到實處。

深入講述大型分布式網站架構設計的核心原理,分享大型分布式網站設計的一些常見場景及遇到的問題。

推薦購買:

《技術管理之巔——如何從零打造高質效互聯網技術團隊》

《玩轉電商系統:深入剖析智慧電商平臺》

《微管理——給你一個技術團隊,你該怎么管(全彩)》

《網站運維技術與實踐》

《Linux運維之道》

作者簡介

陳康賢,花名龍隆,技術部研發工程師,2011年加入網,參與了阿里云手機商城、口碑網遷移、店鋪建站、offer、支付寶卡寶、生活商城、同學等項目,在分布式系統架構設計、高并發系統設計、系統穩定性保障等領域積累了較為豐富的實踐經驗。曾在程序員上發表過《漫談基于http協議的SOA架構》《淺析HTTP平臺的安全穩定性架構》兩篇文章,對基于HTTP協議的SOA架構有深入研究,在排查解決線上問題和故障方面有豐富的實踐經驗,擅于利用數據分析解決實際問題,對新技術有濃厚的興趣。

目錄

第1章面向服務的體系架構(SOA) 1

1.1基于TCP協議的RPC 3

1.1.1RPC名詞解釋 3

1.1.2對象的序列化 4

1.1.3基于TCP協議實現RPC 6

1.2基于HTTP協議的RPC 9

1.2.1HTTP協議棧 9

1.2.2HTTP請求與響應 15

1.2.3通過HttpClient發送HTTP請求 16

1.2.4使用HTTP協議的優勢 17

1.2.5JSON和XML 18

1.2.6RESTful和RPC 20

1.2.7基于HTTP協議的RPC的實現 22

1.3服務的路由和負載均衡 30

1.3.1服務化的演變 30

1.3.2 負載均衡算法 33

1.3.3 動態配置規則 39

1.3.4 ZooKeeper介紹與環境搭建 40

1.3.5 ZooKeeper API使用簡介 43

1.3.6 zkClient的使用 47

1.3.7 路由和負載均衡的實現 50

1.4 HTTP服務網關 54

第2章分布式系統基礎設施 58

2.1 分布式緩存 60

2.1.1 memcache簡介及安裝 60

2.1.2 memcache API與分布式 64

2.1.3 分布式session 69

2.2 持久化存儲 71

2.2.1 MySQL擴展 72

2.2.2 HBase 80

2.2.3 Redis 91

2.3 消息系統 95

2.3.1 ActiveMQ & JMS 96

2.4 垂直化搜索引擎 104

2.4.1 Lucene簡介 105

2.4.2 Lucene的使用 108

2.4.3 Solr 119

2.5 其他基礎設施 125

第3章互聯網安全架構 126

3.1 常見的Web攻擊手段 128

3.1.1 XSS攻擊 128

3.1.2 CRSF攻擊 130

3.1.3 SQL注入攻擊 133

3.1.4 文件上傳漏洞 139

3.1.5 DDoS攻擊 146

3.1.6 其他攻擊手段 149

3.2 常用的安全算法 149

3.2.1 數字摘要 149

3.2.2 對稱加密算法 155

3.2.3 非對稱加密算法 158

3.2.4 數字簽名 162

3.2.5 數字證書 166

3.3 摘要認證 185

3.3.1 為什么需要認證 185

3.3.2 摘要認證的原理 187

3.3.3 摘要認證的實現 188

3.4 簽名認證 192

3.4.1 簽名認證的原理 192

3.4.2 簽名認證的實現 193

3.5 HTTPS協議 200

3.5.1 HTTPS協議原理 200

3.5.2 SSL/TLS 201

3.5.3 部署HTTPS Web 208

3.6 OAuth協議 215

3.6.1 OAuth的介紹 215

3.6.2 OAuth授權過程 216

第4章系統穩定性 218

4.1 在線日志分析 220

4.1.1 日志分析常用命令 220

4.1.2 日志分析腳本 230

4.2 集群監控 239

4.2.1 監控指標 239

4.2.2 心跳檢測 247

4.2.3 容量評估及應用水位 252

4.3 流量控制 255

4.3.1 流量控制實施 255

4.3.2 服務穩定性 260

4.3.3 高并發系統設計 265

4.4 性能優化 277

4.4.1 如何尋找性能瓶頸 277

4.4.2 性能測試工具 285

4.4.3 性能優化措施 292

4.5 Java應用故障的排查 314

4.5.1 常用的工具 314

4.5.2 典型案例分析 331

第5章數據分析 337

5.1 日志收集 339

5.1.1 inotify機制 339

5.1.2 ActiveMQ-CPP 343

5.1.3 架構和存儲 359

5.1.4 Chukwa 362

5.2 離線數據分析 369

5.2.1 Hadoop項目簡介 370

5.2.2 Hadoop環境搭建 374

5.2.3 MapReduce編寫 384

5.2.4 Hive使用 389

5.3 流式數據分析 403

5.3.1 Storm的介紹 404

5.3.2 安裝部署Storm 407

5.3.3 Storm的使用 418

5.4 數據同步 422

5.4.1 離線數據同步 423

5.4.2 實時數據同步 429

5.5 數據報表 431

5.5.1 數據報表能提供什么 431

5.5.2 報表工具Highcharts 432

參考文獻 445

在線預覽

2.1.3 分布式session

傳統的應用服務器,如tomcat、jboss等,其自身所實現的session管理大部分都是基于單機的。對于大型分布式網站來說,支撐其業務的遠遠不止一臺服務器,而是一個分布式集群,請求在不同服務器之間跳轉。那么,如何保持服務器之間的session同步呢?傳統網站一般通過將一部分數據存儲在cookie中,來規避分布式環境下session的操作。這樣做的弊端很多,一方面cookie的安全性一直廣為詬病,另一方面cookie存儲數據的大小是有限制的。隨著移動互聯網的發展,很多情況下還得兼顧移動端的session需求,使得采用cookie來進行session同步的方式的弊端更為凸顯。分布式session正是在這種情況下應運而生的。

對于系統性要求較高的用戶,可以將session持久化到DB中,這樣可以保障宕機時會話不易丟失,但缺點也是顯而易見的,系統的整體吞吐將受到很大的影響。另一種解決方案便是將session統一存儲在緩存集群上,如memcache,這樣可以保障較高的讀、寫性能,這一點對于并發量大的系統來說非常重要;并且從安全性考慮,session畢竟是有有效期的,使用緩存存儲,也便于利用緩存的失效機制。使用緩存的缺點是,一旦緩存重啟,里面保存的會話也就丟失了,需要用戶重新建立會話。

如圖2-4所示,前端用戶請求經過隨機分發之后,可能會命中后端任意的Web Server,并且Web Server也可能會因為各種不確定的原因宕機。在這種情況下,session是很難在集群間同步的,而通過將session以sessionid作為key,保存到后端的緩存集群中,使得不管請求如何分配,即便是Web Server宕機,也不會影響其他Web Server通過sessionid從Cache Server中獲得session,這樣既實現了集群間的session同步,又提高了Web Server的容錯性。

圖2-4 基于緩存的分布式session架構

這里以Tomcat作為Web Server來舉例,通過一個簡單的工具memcached-session-manager,實現基于memcache的分布式session。

memcached-session-manager是一個開源的高可用的Tomcat session共享解決方案,它支持Sticky模式和Non-Sticky模式。Sticky模式表示每次請求都會被映射到同一臺后端Web Server,直到該Web Server宕機,這樣session可先存放在服務器本地,等到請求處理完成再同步到后端memcache服務器;而當Web Server宕機時,請求被映射到其他Web Server,這時候,其他Web Server可以從后端memcache中恢復session。對于Non-Sticky模式來說,請求每次映射的后端Web Server是不確定的,當請求到來時,從memcache中加載session;當請求處理完成時,將session再寫回到memcache。

以Non-Sticky模式為例,它需要給Tomcat的$CATALINA_HOME/conf/context.xml文件配置SessionManager,具體配置如下:

memcachedNodes="n1:192.168.0.100:11211,n2:192.168.0.101:11211"

sticky="false"

sessionBackupAsync="false"

lockingMode="auto"

requestUriIgnorePattern=".\.(ico|png|gif|jpg|css|js)$"

transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

/>

其中:memcachedNodes指定了memcache的節點;sticky表示是否采用Sticky模式;sessionBackupAsync表示是否采用異步方式備份session;lockingMode表示session的鎖定模式;auto表示對于只讀請求,session將不會被鎖定,如果包含寫入請求,則session會被鎖定;requestUriIgnorePattern表示忽略的url;transcoderFactoryClass用來指定序列化的方式,這里采用的是Kryo序列化,也是memcached-session-manager比較推薦的一種序列化方式。

memcached-session-manager依賴于memcached-session-manager-${version}.jar,如果使用的是tomcat6,則還需要下載memcached-session-manager-tc6-${version}.jar,并且它還依賴memcached-${version}.jar進行memcache的訪問。在啟動Tomcat之前,需要將這些jar放在$CATALINA_ HOME/lib/目錄下。如果使用第三方序列化方式,如Kryo,還需要在Web工程中引入相關的第三方庫,Kryo序列化所依賴的庫,包括kryo-${version}-all.jar、kryo-serializers-${version}.jar和msm-kryo-serializer. ${version}.jar。

媒體評論

2008年,網隨著訪問量/數據量的巨增,以及開發人員的增長,原有的架構體系已經無法支撐,于是在那一年網將系統改造為了一個大型分布式的網站。作者目前就職于阿里集團,清晰地看到了目前這個大型分布式網站的架構體系,這個架構體系其實是非常多方面的技術的融合,要掌握好最重要的首先是看清全貌,但這也是最難的。本書向大家展示了一個大型分布式網站需要的技術的全貌。

——集團博學技術專家林昊(畢玄)

網友評論(不代表本站觀點)

來自無昵稱**的評論:

唯一不足,感覺作者很多地方有明顯的小錯誤,讓人看起來會迷惑。

2014-11-14 22:43:02
來自yujiabi**的評論:

好書很多,這本書也不例外,能從這本書里學到很多東西!

2014-09-30 06:08:45
來自yjph83**的評論:

就是送貨慢,本來說的 18號送達, 結果19號下午才送達

2014-10-19 16:33:55
來自sorcere**的評論:

有些地方講的不是很清楚,還有湊字的嫌疑,例如memcached的安裝過程寫了好幾頁,大都是安裝過程的終端回顯,沒什么用。

2016-05-25 08:52:21
來自閑庭賞**的評論:

宅急送送到家很好,書的成色比上次好,就是字體有點小,看時間長了,有點累

2016-02-03 19:20:40
來自無昵稱**的評論:

剛買,還未來得及看,排版、紙質還行,等看一段時間再來評價

2014-12-24 16:46:15
來自無昵稱**的評論:

書還是不錯,沒有完全看完,不過油墨味道有點重。

2015-03-19 12:41:20
來自無昵稱**的評論:

內容廣度夠,深度還差點,整體還是不錯的,值得購買

2015-03-21 17:41:28
來自ll11404**的評論:

比李智慧那本更深入了一些,可以跟著實踐一下

2014-11-24 20:29:35
來自北方的**的評論:

雙十一活動非常給力啊,it書今天低折扣的活動不多,難得一次,一下子購買了好多書,都是平時7折以上的

2014-11-08 20:52:22
來自無昵稱**的評論:

書很好,內容很實用,作者是個很有經驗的攻城師

2015-05-14 23:50:38
來自欲斂**的評論:

看了,對自己的眼界有一定的開闊。但是好多東西都不是很詳細,只有一個大概的概念。

2015-04-23 13:29:44
來自cserhz**的評論:

書的內容不錯的,很多來自實戰的經驗總結,對有志于成為架構師的人的大局觀有很大幫助,推薦購買。

2014-11-20 14:57:09
來自無昵稱**的評論:

書收到了,之前是在同學那里看到過,覺得挺好的,還沒來得及仔細看!書估計是盜版,心里很不爽!內容應該是很不錯的!

2016-05-24 17:02:07
來自無昵稱**的評論:

書質量可以,內容感覺太簡單了,感覺沒有核心原理與案例分析這本書寫的好

2015-09-23 18:41:16
來自無昵稱**的評論:

每天都在翻啊翻啊的一本書,很有參考價值,書果然不錯

2016-04-22 10:11:21
來自無昵稱**的評論:

很不錯的一本書,剛看了一部分,作者知識面很廣

2016-04-28 22:59:47
來自無昵稱**的評論:

這本書我推薦,很好,看了一大半,很值得買,不適合新手看

2016-10-21 09:32:15
來自無昵稱**的評論:

內容豐富,代碼量很足,對于想了解分布式的人來說,是一本非常好書籍。

2015-03-23 14:06:20
來自cnyoky**的評論:

作為新人入手書籍看看還行,雖都有涉及,但是都點到即止,沒有深入,而且作為一本技術書籍,文中大量的代碼片斷,程序截圖和工具介紹,實有不妥。

2016-04-23 13:20:47
來自無昵稱**的評論:

特別喜歡,超級好的一本分布式書籍,見過最好的一本了!一定會堅持看完!加油!

2016-04-22 22:41:45
來自無昵稱**的評論:

不錯的書,比李智慧的《大型網站技術架構 核心原理與案例分析》講得細一些

2015-01-20 13:58:15
來自國學計**的評論:

對于想了解分布式,緩存,大數據,非常適合,該書對各種技術只提供解決方案,原理沒有講。

2016-05-09 20:38:07
來自sun2dlj**的評論:

對于網站架構知識介紹的很全面,很不錯的一本書

2015-12-17 10:46:08
來自hinews_**的評論:

此產品相當不錯,作者確實是經過實踐的心得,但經過此書,不一定能夠讓大家掌握具體的技術細節,還需要自己消化,實際上寫書容易,重要的是怎么樣讓具體的知識能夠讓讀者吸收的非常好,這是有困難的!

2015-03-24 08:39:42
來自mickey2**的評論:

分布式現在非常火,這本書則詳細全面的介紹大型網站分布式開發的方方面面,從入門到精通,值得詳細閱讀。

2016-04-23 23:39:52
來自匿名用**的評論:

通過通俗的語言和恰當的舉例對大型網站架構進行了科普試的普及教育

2017-05-17 09:43:09

免責聲明

更多出版社
主站蜘蛛池模板: 岳普湖县| 达孜县| 广灵县| 洛浦县| 宜良县| 武夷山市| 江城| 甘洛县| 务川| 卢氏县| 拜泉县| 蕲春县| 平度市| 韶山市| 根河市| 丽水市| 大埔区| 朔州市| 轮台县| 黑水县| 民勤县| 滕州市| 三亚市| 常德市| 邢台县| 荔波县| 博湖县| 平山县| 宾阳县| 海原县| 如东县| 桂阳县| 钟祥市| 灵璧县| 渝北区| 沧州市| 称多县| 高台县| 柳河县| 扬中市| 宣威市|