注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)

高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)

高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)

定 價(jià):¥89.00

作 者: 銀文杰 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787121315091 出版時(shí)間: 2017-07-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 440 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  影響業(yè)務(wù)系統(tǒng)性能的因素很多,計(jì)算機(jī)系統(tǒng)的各個(gè)層面都有涉及:從硬件、網(wǎng)絡(luò)、操作系統(tǒng)、中間件、存儲(chǔ),直到自身代碼質(zhì)量。所有技術(shù)團(tuán)隊(duì)都曾為解決性能問(wèn)題、提高性能峰值絞盡腦汁,從千頭萬(wàn)緒到生不如死。《高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)》基于作者10余年工作經(jīng)歷中踩過(guò)的技術(shù)神坑,總結(jié)整理而成。雖然不能將計(jì)算機(jī)系統(tǒng)各個(gè)層面中影響性能的因素全部介紹完,但還是希望通過(guò)討論業(yè)務(wù)系統(tǒng)負(fù)載層、網(wǎng)絡(luò)通信層解決性能問(wèn)題的過(guò)程,啟發(fā)讀者,為讀者在工作中解決性能問(wèn)題提供借鑒思路。 《高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)》適合計(jì)算機(jī)軟件領(lǐng)域中立志在架構(gòu)師職業(yè)路線上長(zhǎng)期發(fā)展的技術(shù)人員閱讀,無(wú)論讀者是有一定工作經(jīng)驗(yàn)的軟件工程師、運(yùn)維工程師還是在校大學(xué)生,都適合閱讀《高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)》?!陡咝阅芊?wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)》知識(shí)點(diǎn)橫跨系統(tǒng)架構(gòu)領(lǐng)域和軟件架構(gòu)領(lǐng)域,所以為了更好地閱讀《高性能服務(wù)系統(tǒng)構(gòu)建與實(shí)戰(zhàn)》,讀者至好曾經(jīng)使用過(guò)Linux操作系統(tǒng),也至好有Java編程語(yǔ)言的使用能力。

作者簡(jiǎn)介

  銀文杰,筆名“說(shuō)好不能打臉”,博客地址blog.csdn.net/yinwenjie。資深I(lǐng)T屌絲一枚,愛(ài)好就是敲敲代碼,寫(xiě)寫(xiě)博客,研究研究創(chuàng)業(yè)熱點(diǎn)。CSDN博客作家,CSDN Java EE知識(shí)庫(kù)特約編輯。曾參與電信行業(yè)、物流行業(yè)多個(gè)核心系統(tǒng)建設(shè),對(duì)系統(tǒng)頂層設(shè)計(jì)、技術(shù)線路規(guī)劃、業(yè)務(wù)系統(tǒng)性能調(diào)整有較豐富的經(jīng)驗(yàn);也曾有幾年頭腦發(fā)熱拍案創(chuàng)業(yè),兼職市場(chǎng)銷(xiāo)售、電話客服、公司保安以及清潔大叔。

圖書(shū)目錄

第一部分 前序
第1 章 那些年一起踩的坑 2
1.1 性能問(wèn)題 2
1.2 可用性問(wèn)題 3
1.3 異常處理問(wèn)題 4
1.4 系統(tǒng)間依賴(lài)問(wèn)題 4
1.5 系統(tǒng)雪崩問(wèn)題 7
第2 章 業(yè)務(wù)系統(tǒng)分解 9
2.1 負(fù)載層技術(shù) 10
2.2 業(yè)務(wù)層技術(shù) 12
2.3 存儲(chǔ)層技術(shù) 13
第二部分 負(fù)載層技術(shù)與設(shè)計(jì)
第3 章 Nginx 技術(shù) 16
3.1 Nginx 中的基本技術(shù)理論 16
3.1.1 一致性Hash 算法 16
3.1.2 輪詢(xún)與加權(quán)輪詢(xún)18
3.2 Nginx 的安裝和使用 20
3.3 Nginx 的重要配置講解 22
3.4 Nginx 的重要設(shè)置 25
3.4.1 use [ kqueue | rtsig | epoll | select | poll ] 25
3.4.2 worker_processes 和worker_connections 26
3.4.3 max client 的計(jì)算方式29
3.5 Nginx 的常用模塊 30
3.5.1 gzip 壓縮模塊30
3.5.2 rewrite 模塊 32
3.5.3 健康檢查模塊 34
3.5.4 圖片動(dòng)態(tài)縮略模塊 37
第4 章 LVS 技術(shù) 41
4.1 網(wǎng)絡(luò)協(xié)議基礎(chǔ)知識(shí) 41
4.1.1 鏈路層報(bào)文 42
4.1.2 網(wǎng)絡(luò)層IP 報(bào)文42
4.1.3 傳輸層TCP 報(bào)文 44
4.2 LVS 的三種工作方式 45
4.2.1 LVS-NAT 工作方式45
4.2.2 LVS-DR 工作方式47
4.2.3 LVS-TUN 工作方式49
4.2.4 LVS 調(diào)度方式 52
4.3 LVS 設(shè)置實(shí)戰(zhàn) 53
4.3.1 LVS-NAT 方式設(shè)置53
4.3.2 LVS-DR 模式設(shè)置57
4.3.3 ipvsadm 參數(shù)匯總 60
第5 章 其他負(fù)載層技術(shù) 63
5.1 DNS 和智能DNS 63
5.2 CDN 網(wǎng)絡(luò) 65
5.3 Keepalived 67
5.4 不得不提的Tengine 68
第6 章 負(fù)載層性能實(shí)戰(zhàn) 69
6.1 負(fù)載層技術(shù)實(shí)戰(zhàn)場(chǎng)景 69
6.1.1 負(fù)載場(chǎng)景一 69
6.1.2 負(fù)載場(chǎng)景二 70
6.1.3 負(fù)載場(chǎng)景三 71
6.1.4 負(fù)載場(chǎng)景四 72
6.2 方案一:使用Nginx 初步解決性能瓶頸問(wèn)題 72
6.3 方案二:使用LVS + Keepalived + Nginx 增加吞吐量和穩(wěn)定性 74
6.4 方案三:使用DNS 和CDN 網(wǎng)絡(luò)優(yōu)化整體性能 75
第三部分 系統(tǒng)間通信
第7 章 系統(tǒng)間通信:網(wǎng)絡(luò)I/O 模型 78
7.1 模型 78
7.1.1 信息格式79
7.1.2 網(wǎng)絡(luò)協(xié)議80
7.1.3 通信方式/框架82
7.2 網(wǎng)絡(luò)I/O 模型:阻塞模式 82
7.2.1 通信模型概要 82
7.2.2 阻塞模式深入分析 87
7.2.3 問(wèn)題的根源 91
7.3 網(wǎng)絡(luò)I/O 模型:同步非阻塞模式——對(duì)阻塞模式的改進(jìn) 93
7.3.1 首次改進(jìn)97
7.3.2 再次改進(jìn)99
7.3.3 依然存在問(wèn)題 101
7.4 網(wǎng)絡(luò)I/O 模型:多路復(fù)用(I/O Multiplex) 101
7.4.1 典型的多路復(fù)用I/O 實(shí)現(xiàn) 102
7.4.2 Java 對(duì)多路復(fù)用I/O 技術(shù)的支持 103
7.4.3 Java NIO 框架簡(jiǎn)要設(shè)計(jì)分析 112
7.4.4 Java 實(shí)例改進(jìn) 114
7.4.5 多路復(fù)用I/O 的優(yōu)缺點(diǎn) 118
7.5 網(wǎng)絡(luò)I/O 模型:異步I/O 119
7.5.1 Java 對(duì)AIO 的支持. 120
7.5.2 Java 提供的 AIO 支持示例 122
7.5.3 還有改進(jìn)可能 128
7.6 第三方組件:Netty 128
7.6.1 為什么需要Netty 129
7.6.2 Netty 快速上手 130
7.6.3 Netty 中的重要概念 135
7.7 再次審視Netty 的作用 141
7.7.1 對(duì)網(wǎng)絡(luò)I/O 模型的封裝 142
7.7.2 對(duì)數(shù)據(jù)信息格式的封裝 143
7.7.3 解決了“技術(shù)層”框架中的技術(shù)問(wèn)題 146
7.7.4 解決半包問(wèn)題和粘包問(wèn)題 148
7.8 不得不提的線程池 152
7.8.1 為什么要使用線程池 152
7.8.2 線程池基本使用 155
7.8.3 ThreadPoolExecutor 邏輯結(jié)構(gòu)和工作方式 156
7.8.4 線程池的等待隊(duì)列 159
7.8.5 拒絕任務(wù) 165
7.8.6 ThreadPoolExecutor 中常用屬性總結(jié) 168
第8 章 RPC 與系統(tǒng)間調(diào)用 170
8.1 RPC 技術(shù)原理 170
8.1.1 什么是RPC 170
8.1.2 RPC 要素 171
8.1.3 更泛化的RPC 定義 173
8.1.4 典型的RPC 框架介紹 174
8.1.5 RPC 框架的性能依據(jù) 175
8.2 RPC 實(shí)踐:Apache Thrift 基本使用 176
8.2.1 IDL 格式概要 177
8.2.2 簡(jiǎn)單的Apache Thrift 代碼 181
8.3 RPC 實(shí)踐:Apache Thrift 深入分析 185
8.3.1 Apache Thrift 與消息格式 185
8.3.2 Apache Thrift 與通信模型 190
8.3.3 Apache Thrift 與線程池 193
8.4 RPC 實(shí)踐:解決異常問(wèn)題 193
8.4.1 分布式業(yè)務(wù)的異常解決思路. 195
8.4.2 事務(wù)補(bǔ)償?shù)暮?jiǎn)單實(shí)現(xiàn) 201
8.5 SOA 和服務(wù)治理 224
8.5.1 SOA 概述 225
8.5.2 ESB 概述 227
8.5.3 常見(jiàn)的ESB 產(chǎn)品 229
8.5.4 服務(wù)治理框架 231
第9 章 系統(tǒng)間通信:消息隊(duì)列技術(shù) 237
9.1 消息隊(duì)列原理 237
9.1.1 消息 237
9.1.2 服務(wù)結(jié)構(gòu) 238
9.2 消息協(xié)議 238
9.2.1 XMPP 協(xié)議 239
9.2.2 Stomp 協(xié)議 241
9.2.3 MQTT 協(xié)議 244
9.2.4 AMQP 協(xié)議 248
9.2.5 不得不提的JMS 規(guī)范 251
9.3 MQ 實(shí)踐:ActiveMQ 基本概念和使用 253
9.3.1 ActiveMQ 的簡(jiǎn)易安裝過(guò)程 253
9.3.2 ActiveMQ 的其他命令參數(shù) 255
9.3.3 在ActiveMQ 中傳遞Stomp 消息 256
9.3.4 ActiveMQ 中的Queue 和Topics 258
9.3.5 JMS 和協(xié)議間轉(zhuǎn)換 260
9.3.6 持久化消息和非持久化消息. 266
9.3.7 持續(xù)訂閱和非持續(xù)訂閱 267
9.4 MQ 實(shí)踐:ActiveMQ 性能優(yōu)化 267
9.4.1 ActiveMQ 性能優(yōu)化思路 267
9.4.2 ActiveMQ 中的網(wǎng)絡(luò)配置 268
9.4.3 ActiveMQ 處理規(guī)則和優(yōu)化 273
9.4.4 ActiveMQ 的持久消息存儲(chǔ)方案 285
9.5 MQ 實(shí)踐:ActiveMQ 集群方案 299
9.5.1 ActiveMQ 高性能方案 300
9.5.2 ActiveMQ 高可用方案 311
9.6 其他MQ技術(shù):Apache Kafka 321
9.6.1 Kafka 設(shè)計(jì)概要 321
9.6.2 Kafka 集群安裝:配置過(guò)程 333
9.6.3 Kafka 常用命令 336
第四部分 場(chǎng)景實(shí)戰(zhàn)
第10 章 場(chǎng)景實(shí)戰(zhàn):其他儲(chǔ)備知識(shí) 340
10.1 數(shù)據(jù)存儲(chǔ) 340
10.1.1 塊存儲(chǔ) 341
10.1.2 共享存儲(chǔ)/共享文件存儲(chǔ) 343
10.1.3 對(duì)象存儲(chǔ)系統(tǒng) 344
10.2 磁盤(pán)陣列系統(tǒng) 345
10.2.1 RAID 0 346
10.2.2 RAID 1 347
10.2.3 RAID 10 和RAID 01 348
10.2.4 RAID 5 349
10.3 NoSQL 技術(shù) 351
第11 章 場(chǎng)景實(shí)戰(zhàn):Kafka 與日志采集 355
11.1 Kafka 應(yīng)用場(chǎng)景:場(chǎng)景說(shuō)明 355
11.2 Kafka 應(yīng)用場(chǎng)景一:侵入式方案 357
11.2.1 設(shè)計(jì)重點(diǎn) 358
11.2.2 編碼過(guò)程:生產(chǎn)者和業(yè)務(wù)系統(tǒng)集成 361
11.2.3 是否使用Spring Integration-Kafka 366
11.2.4 編碼過(guò)程:消費(fèi)者端 367
11.3 Kafka 應(yīng)用場(chǎng)景二:調(diào)整侵入式方案 371
11.3.1 方案一的問(wèn)題所在 371
11.3.2 方案二的解決思路 371
11.3.3 方案二的主要代碼示例 377
11.3.4 其他設(shè)計(jì)思考 380
11.3.5 百度站長(zhǎng)統(tǒng)計(jì)工具 382
11.4 Kafka 應(yīng)用場(chǎng)景三:非侵入式方案 383
11.4.1 Apache Flume 介紹 383
11.4.2 設(shè)計(jì)方案 384
11.4.3 配置過(guò)程概要 386
11.4.4 方案三細(xì)節(jié)說(shuō)明. 388
第12 章 場(chǎng)景實(shí)戰(zhàn):圖片服務(wù) 392
12.1 需求場(chǎng)景 392
12.2 概要設(shè)計(jì)階段 393
12.2.1 分布式文件系統(tǒng)選型 394
12.2.2 緩存系統(tǒng)選型 395
12.2.3 路由層選型 397
12.2.4 架構(gòu)設(shè)計(jì)細(xì)化 400
12.2.5 其他技術(shù)選型 401
12.3 關(guān)鍵技術(shù)點(diǎn)考量 403
12.3.1 責(zé)任鏈模式 403
12.3.2 Redis 中的數(shù)據(jù)結(jié)構(gòu)選擇 404
12.3.3 使用Spring Boot 406
12.3.4 其他技術(shù)特性 408
12.4 詳細(xì)設(shè)計(jì)階段 412
12.4.1 位圖基本知識(shí) 412
12.4.2 Nginx 中的Proxy Cache 配置 418
12.4.3 責(zé)任鏈進(jìn)行圖片處理 420
12.4.4 Redis 緩存操作 423

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)