| | | 分布式繫統開發實戰 | 該商品所屬分類:圖書 -> 人民郵電出版社 | 【市場價】 | 651-944元 | 【優惠價】 | 407-590元 | 【作者】 | 柳偉衛 | 【出版社】 | 人民郵電出版社 | 【ISBN】 | 9787115541017 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
出版社:人民郵電出版社 ISBN:9787115541017 版次:01 商品編碼:13140948 品牌:人民郵電出版社 包裝:平裝 開本:16開 出版時間:2021-03-01 頁數:350 正文語種:中文 作者:柳偉衛
" 編輯推薦 (1)新。符合當今雲架構發展現狀的開發技術,無論是大型企業還是個人開發者,都或多或少地采用了分布式的方式來開發和部署應用。 (2)全。涵蓋REST設計、測試、服務注冊、服務發現、安全、數據管理、消息通信、批處理、任務調度、運營、容器部署、持續發布等方面的知識。 (3)細。實戰案例輔以大量理論知識,讓讀者透徹理解每一個知識點。 內容簡介 本書從原理和實踐角度全面介紹如何設計分布式繫統。內容包括節點、通信、並發與並行、面向對像的分布式架構、面向服務的分布式架構、面向消息的分布式架構、 EST 風格的架構、微服務架構、 Serverless 架構、 Cloud Native 架構、虛擬化與容器技術、分布式計算、分布式存儲、分布式監控、分布式版本控制、數據一致性、分布式事務、安全性、可用性等,內容豐富、案例新穎,相關理論與技術實踐較為前瞻。本書最後還提供了一個綜合實戰案例,手把手教讀者如何來基於Spring Cloud 技術來實現微服務架構。 作者簡介 在多家知名 IT 公司擔任項目經理、架構師、高級開發顧問等職位,具有多年軟件開發管理及繫統架構經驗。負責過多個省、***大型分布式繫統的設計與研發,參與了多個大型項目的微服務架構的技術改造,在實際工作中,積累了大量的分布式繫統及微服務架構經驗。業餘時間創建了 waylau.com 網站,用於分享個人技術心得。喜歡開源,長期躍於各大開源社區,是 CSDN、 開源中國、雲棲社區等技術社區專家。為開源社區無私編著了《Spring Framework 4.x參考文檔》、《Netty 實戰(精髓)》、《REST 實戰》、《分布式 Java》、《Spring Boot 教程》、《Spring Security 教程》、《Thymeleaf 教程》等近30餘篇技術教程,廣受網友好評。其中出版了《分布式繫統常用技術及案例分析》、《Spring Boot 企業級應用開發實戰》、《Spring Cloud 微服務架構開發實戰》等專著。 目錄 第 1章分布式繫統概述1 1.1什麼是分布式繫統1 1.2分布式繫統常用術語2 1.3集中式繫統與分布式繫統3 1.4分布式繫統特征4 1.5設計分布式繫統所面臨的挑戰5 1.6本章小結6 1.7習題6 第2章 節點7 2.1什麼是線程7 2.2進程和線程8 2.3線程和纖程8 2.4編程語言中的線程對像9 2.4.1定義和啟動一個線程9 2.4.2暫停線程執行9 2.4.3中斷線程10 2.4.4等待另一個線程完成11 2.5節點之間的通信11 2.5.1消息丟失11 2.5.2消息亂序12 2.5.3數據錯誤12 2.5.4不可靠的TCP12 2.6本章小結12 2.7習題13 第3章通信14 3.1本地過程調用14 3.1.1本地過程調用的概念14 3.1.2本地過程調用的實現14 3.2遠程過程調用16 3.2.1遠程過程調用原理16 3.2.2如何實現遠程過程調用18 3.2.3遠程過程調用API20 3.2.4遠程過程調用發展歷程20 3.3常用網絡I/O模型21 3.3.1阻塞I/O模型21 3.3.2非阻塞I/O模型22 3.3.3I/O復用模型22 3.3.4信號驅動I/O模型23 3.3.5異步I/O模型23 3.3.6幾種I/O模型的比較24 3.4I/O操作中的常用術語25 3.4.1阻塞和非阻塞25 3.4.2同步與異步25 3.4.3總結25 3.5實戰:在Java中實現常用網絡I/O模型26 3.5.1Java OIO26 3.5.2Java NIO29 3.5.3Java AIO33 3.6事件驅動37 3.6.1事件驅動編程37 3.6.2事件循環的實現38 3.6.3Reactor模型38 3.6.4Proactor模型40 3.7本章小結41 3.8習題41 第4章並發與並行42 4.1並發與並行的區別42 4.2線程與並發43 4.3並發帶來的風險43 4.3.1死鎖44 4.3.2饑餓45 4.3.3活鎖45 4.4解決並發風險45 4.4.1同步45 4.4.2原子訪問49 4.5提升繫統並發能力49 4.5.1無鎖化設計提升並發能力49 4.5.2緩存提升並發能力49 4.5.3更細顆粒度的50 4.6本章小結50 4.7習題50 第5章面向對像的分布式架構51 5.1基於對像的分布式架構51 5.2常用的分布式對像繫統52 5.2.1微軟DCOM52 5.2.2CORBA53 5.2.3Java RMI54 5.3分布式對像繫統優缺點57 5.4實戰:基於Java RMI實現分布式對像通信57 5.4.1示例概述57 5.4.2編寫RMI服務器58 5.4.3編寫RMI客戶端60 5.4.4運行61 5.5本章小結61 5.6習題62 第6章面向服務的分布式架構63 6.1什麼是面向服務的架構63 6.2SOA的基本概念64 6.3基於Web服務的SOA65 6.3.1XML-RPC66 6.3.2SOAP66 6.3.3Microsoft .NET Remoting69 6.3.4Java中的XML Web服務75 6.3.5超越SOAP75 6.3.6SOA的演變76 6.4Web服務的分類76 6.4.1“大”Web服務76 6.4.2RESTful Web服務77 6.4.3Web服務技術選型77 6.5實戰:基於JAX-WS實現Web服務78 6.5.1JAX-WS概述78 6.5.2創建Web服務器和客戶端的基本步驟78 6.5.3JAX-WS終端要求79 6.5.4創建基於JAX-WS的服務器79 6.5.5創建基於JAX-WS的客戶端80 6.5.6運行80 6.6本章小結82 6.7習題82 第7章面向消息的分布式架構83 7.1什麼是面向消息的分布式架構83 7.1.1常用術語83 7.1.2使用場景83 7.1.3常用技術84 7.2常見消息中間件產品介紹84 7.2.1Apache ActiveMQ84 7.2.2RabbitMQ85 7.2.3Apache RocketMQ86 7.3消息通信常用模式88 7.3.1工作隊列88 7.3.2發布/訂閱89 7.3.3路由90 7.3.4主題91 7.3.5RPC92 7.4了解JMS規範94 7.4.1JMS消息風格94 7.4.2JMS接口95 7.5實戰:基於JMS的消息發送和接收96 7.5.1項目概述96 7.5.2項目配置97 7.5.3編碼實現99 7.5.4運行104 7.6本章小結107 7.7習題108 第8章REST風格的架構109 8.1什麼是REST109 8.2REST設計原則110 8.3成熟度模型111 8.3.1第0級:使用HTTP作為傳輸方式111 8.3.2第 1級:引入了資源的概念113 8.3.3第 2級:根據語義使用HTTP動詞113 8.3.4第3級:使用HATEOAS114 8.4REST API管理116 8.5常用技術118 8.5.1JAX-RS規範118 8.5.2Jersey123 8.5.3Apache CXF123 8.5.4Spring Web MVC124 8.6實戰:基於Java實現REST API124 8.6.1基於Jersey來構建REST服務124 8.6.2基於Apache CXF來構建REST服務131 8.6.3基於Spring Web MVC來構建REST服務140 8.7本章小結145 8.8習題145 第9章微服務架構146 9.1什麼是微服務架構146 9.2微服務架構與SOA架構的區別147 9.2.1單體架構的例子147 9.2.2微服務架構的例子148 9.3何時采用微服務架構150 9.4常用技術150 9.4.1Jetty HTTP Server151 9.4.2構建REST程序151 9.4.3運行153 9.5實戰:基於Spring Boot實現微服務153 9.5.1配置環境153 9.5.2REST API設計154 9.5.3編寫程序代碼155 9.5.4安裝REST客戶端159 9.5.5運行、測試程序160 9.6微服務與通信160 9.6.1HTTP通信161 9.6.2消息通信161 9.6.3事件驅動的通信161 9.7了解CQRS162 9.7.1CQRS概述162 9.7.2CQRS與Event Sourcing的關繫163 9.7.3CQRS好處164 9.8實戰:基於CQRS微服務通信164 9.8.1配置165 9.8.2Aggregate165 9.8.3Command168 9.8.4Event169 9.8.5測試170 9.9本章小結171 9.10習題171 第10章 Serverless架構172 10.1什麼是Serverless架構172 10.2Serverless架構的典型應用173 10.2.1UI驅動的應用173 10.2.2消息驅動的應用174 10.3常見的Serverless架構175 10.3.1AWS Lambda175 10.3.2Google Cloud Functions175 10.3.3Iron.io175 10.3.4IBM OpenWhisk175 10.3.5Serverless Framework176 10.3.6Azure WebJobs176 10.4Serverless架構原則176 10.4.1根據需要使用計算服務執行代碼177 10.4.2編寫單一用途的無狀態函數177 10.4.3設計基於推送的、事件驅動的管道177 10.4.4創建更粗實、更強大的前端177 10.4.5擁抱第三方服務178 10.5實戰:使用AWS平臺實現Serverless架構178 10.6本章小結182 10.7習題182 第11章 Cloud Native架構183 11.1Cloud Native概述183 11.1.1軟件需求的發展183 11.1.2開發方式的巨變184 11.1.3雲是大勢所趨185 11.2Cloud Native特性185 11.2.1以雲為基礎架構186 11.2.2雲服務186 11.2.3無服務186 11.2.4可擴展187 11.2.5高可用189 11.2.6敏捷190 11.2.7雲優先190 11.312-Factor191 11.3.1基準代碼192 11.3.2依賴192 11.3.3配置193 11.3.4後端服務193 11.3.5構建、發布、運行193 11.3.6進程194 11.3.7端口綁定194 11.3.8並發195 11.3.9易處理196 11.3.10開發環境與線上環境等價196 11.3.11日志196 11.3.12管理進程197 11.4Cloud Native成功案例分析197 11.4.1Amazon197 11.4.2Netflix198 11.4.3淘寶網199 11.5Cloud Native與微服務架構的關繫201 11.6Cloud Native與Serverless架構的關繫201 11.7Cloud Native的優點及面臨的挑戰201 11.7.1Cloud Native優點201 11.7.2Cloud Native不是“銀彈”202 11.7.3面臨的挑戰203 11.8本章小結203 11.9習題203 第12章 虛擬化與容器技術204 12.1虛擬化技術204 12.2容器與虛擬機204 12.2.1成熟度方面的比較205 12.2.2啟動速度的比較205 12.2.3安全方面的比較205 12.2.4性能方面的比較206 12.3基於容器的持續部署206 12.3.1持續部署管道207 12.3.2測試207 12.3.3構建208 12.3.4部署209 12.3.5藍-綠部署209 12.3.6運行預集成以及集成後測試210 12.3.7回滾與清理211 12.3.8決定每個步驟的執行環境212 12.3.9完成整個持續部署流212 12.4容器技術與微服務架構212 12.4.1基於Google Kubernetes架構213 12.4.2基於DaoCloud DCE架構213 12.5容器技術與Cloud Native架構213 12.6實戰:基於Docker發布微服務214 12.6.1創建微服務214 12.6.2微服務容器化214 12.6.3使用Gradle來構建Docker image215 12.6.4運行image216 12.6.5訪問應用217 12.6.6關閉容器217 12.6.7Docker發布微服務217 12.7本章小結217 12.8習題217 第13章 分布式計算218 13.1分布式計算概述218 13.2分布式計算應用場景218 13.3分布式計算常用技術219 13.3.1MapReduce219 13.3.2Apache Hadoop221 13.3.3Apache Spark222 13.4實戰:基於Spark詞頻統計223 13.4.1項目概述224 13.4.2項目配置224 13.4.3編碼實現224 13.4.4運行225 13.5本章小結227 13.6習題227 第14章 分布式存儲228 14.1分布式存儲概述228 14.2分布式存儲應用場景228 14.3分布式存儲常用技術229 14.3.1Bigtable229 14.3.2Apache HBase231 14.3.3Apache Cassandra233 14.3.4Memcached235 14.3.5Redis237 14.3.6MongoDB237 14.4實戰:基於MongoDB文件服務器239 14.4.1文件服務器的需求239 14.4.2所需技術239 14.4.3文件服務器的實現241 14.4.4運行247 14.4.5其他配置項247 14.5本章小結248 14.6習題248 第15章 分布式監控249 15.1分布式監控概述249 15.2分布式監控應用場景249 15.3分布式監控常用技術249 15.3.1Nagios250 15.3.2Zabbix250 15.3.3Consul253 15.3.4ZooKeeper255 15.4實戰:基於ZooKeeper的服務注冊和發現258 15.4.1項目概述258 15.4.2項目配置258 15.4.3編碼實現259 15.4.4運行262 15.5本章小結264 15.6習題264 第16章 分布式版本控制265 16.1版本控制繫統簡史265 16.2集中式與分布式版本控制繫統265 16.3常用技術266 16.3.1Bazaar266 16.3.2Mercurial266 16.3.3Git267 16.4了解Git Flow269 16.4.1分支定義269 16.4.2新功能開發工作流269 16.4.3Bug修復工作流270 16.4.4版本發布工作流270 16.5本章小結271 16.6習題271 第17章 數據一致性272 17.1什麼是CAP理論272 17.2為什麼CAP隻能三選二273 17.3CAP常見模型274 17.3.1犧牲分區容錯性(CA模型)274 17.3.2犧牲可用性(CP模型)274 17.3.3犧牲一致性(AP模型)274 17.4CAP的意義及發展275 17.4.1CAP最新發展275 17.4.2BASE275 17.5以數據為中心的一致性模型276 17.5.1嚴格一致性276 17.5.2持續一致性276 17.5.3順序一致性276 17.5.4因果一致性276 17.5.5入口一致性276 17.6以客戶為中心的一致性模型277 17.6.1單調讀一致性277 17.6.2單調寫一致性277 17.6.3讀寫一致性277 17.6.4寫讀一致性277 17.7本章小結278 17.8習題278 第18章 分布式事務279 18.1本地事務279 18.1.1一個銀行轉賬的例子279 18.1.2事務隔離級別280 18.2分布式事務面臨的挑戰282 18.3節點復制283 18.3.1Master-Slave復制283 18.3.2Master-Master多主復制283 18.4兩階段提交283 18.4.1準備階段284 18.4.2提交階段284 18.4.3兩階段提交狀態機284 18.4.4兩階段提交的缺陷285 18.5三階段提交285 18.5.1CanCommit285 18.5.2PreCommit286 18.5.3DoCommit286 18.5.4三階段提交狀態機286 18.5.5三階段提交的缺陷287 18.6Paxos算法287 18.6.1問題描述287 18.6.2提案的選定288 18.6.3獲取被選定的提案值289 18.6.4進展性290 18.6.5實現290 18.6.6總結291 18.6.7缺陷292 18.7Raft算法292 18.7.1Raft概述293 18.7.2復制狀態機293 18.7.3Raft算法基礎294 18.7.4Raft算法Leader選舉296 18.7.5Raft算法日志同步297 18.7.6Raft算法安全性299 18.7.7處理Follower和Candidate異常302 18.7.8時間要求及可用性302 18.7.9集群成員關繫變更303 18.7.10日志壓縮305 18.7.11客戶端交互306 18.7.12總結307 18.8消息307 18.8.1本地消息表308 18.8.2事務消息308 18.8.3如何保障冪等性309 18.8.4總結310 18.9本章小結310 18.10習題310 第19章 安全性311 19.1基本概念311 19.1.1安全威脅、策略和機制311 19.1.2密碼與數字簽名312 19.2加密算法313 19.2.1對稱加密313 19.2.2使用對稱密鑰加密的數字簽名313 19.2.3非對稱加密314 19.2.4使用公鑰加密的數字簽名315 19.3安全通道315 19.3.1SSL/TLS315 19.3.2SSL握手過程316 19.3.3HTTPS318 19.4訪問控制318 19.4.1防火牆319 19.4.2堡壘機319 19.4.3拒絕服務319 19.4.4訪問控制的模型320 19.5實戰:基於Spring Security實現安全認證320 19.5.1添加依賴321 19.5.2添加業務代碼322 19.5.3配置消息轉換器322 19.5.4配置Spring Security323 19.5.5創建應用配置類324 19.5.6創建內嵌Jetty的服務器324 19.5.7應用啟動器325 19.5.8運行應用326 19.6本章小結327 19.7習題327 第20章 可用性328 20.1故障不可避免328 20.2使用冗餘提升繫統可用性328 20.3常用副本控制協議329 20.3.1中心化副本控制協議329 20.3.2primary-secondary協議329 20.3.3去中心化副本控制協議331 20.4負載均衡技術332 20.4.1客戶端發現模式332 20.4.2服務端發現模式333 20.5實戰:基於NGINX實現服務高可用334 20.5.1配置負載均衡334 20.5.2負載均衡常用算法335 20.5.3實現Web服務的高可用336 20.5.4運行336 20.6本章小結337 20.7習題337 第21章 綜合實戰:基於Spring Cloud的微服務架構設計與實現338 21.1Spring Cloud概述338 21.1.1什麼是Spring Cloud338 21.1.2Spring Cloud與Spring Boot的關繫339 21.2Spring Cloud入門配置339 21.2.1Maven配置339 21.2.2Gradle配置340 21.2.3聲明式方法340 21.3Spring Cloud的子項目介紹341 21.3.1Spring Cloud子項目的組成341 21.3.2Spring Cloud組件的版本342 21.4實現微服務的注冊與發現343 21.4.1服務發現的意義343 21.4.2如何集成Eureka Server343 21.4.3如何集成Eureka Client347 21.4.4實現服務的注冊與發現347 21.5本章小結348 21.6習題348 附錄本書所涉及的軟件及相關版本349 參考文獻350 查看全部↓
" | | | | | |