-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

微服務容器化開發實戰

( 簡體 字)
作者:尹為強類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社微服務容器化開發實戰 3dWoo書號: 52443
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:2/1/2020
頁數:236
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121382925
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

序一
在計算機技術日新月異的今天,層出不窮的新技術推動了生產力的發展,也推動了整個社會的進步。軟件架構從單體架構到分布式架構,從SOA架構到微服務架構,再到服務網格。數據庫從Oracle包打天下到MySQL大行其道,再到內存數據庫、NoSQL數據庫遍地開花。容器編排調度技術從Mesos、Swarm、Kubernetes三足鼎立,到最終Kubernetes一統天下。“工欲善其事,必先利其器。”在互聯網轉型的大潮中,需要在思想、方法、技術等方面全面轉型。互聯網架構的高可靠、高并發、高擴展與低耦合,共同創造了互聯網應用的無限可能。
微服務的核心思想是將整個系統拆分為多個相互獨立的業務,各模塊可以獨立地開發、測試、部署、運行和運維。這種低耦合、高內聚的靈活特性正是所有架構設計人員所期盼的。因此,微服務架構在短時間內便得到大型互聯網企業的青睞,成為打造復雜互聯網應用的一把利器。Kubernetes作為目前主流的容器編排調度平臺,從新生事物逐漸發展成為影響全球IT技術的基礎設施平臺,更推動了微服務架構、云原生應用、服務網格等熱門技術的普及和落地。
本書內容循序漸進,概念清晰明了,由淺入深,從易到難,為讀者呈現了一幅包括微服務、容器化及技術實踐在內的全景圖。本書融合了作者在企業推廣實施微服務的諸多經驗,不但理論架構完整,而且包含典型的實踐案例。
目前,大數據、云計算、物聯網、人工智能、區塊鏈等技術遍地開花,借助5G技術的翅膀,我們定能展翅翱翔!



黃文良
中國聯通集團首席業務創新官 電子商務中心總經理

序二
不斷增長的用戶訪問量,快速多變的業務需求,隨之帶來的資源高效利用和敏捷開發迭代需求,對于開發人員和運維人員來說都是新的挑戰。為了解決應用快速部署、資源彈性使用問題,容器化和微服務等新技術正在不斷深入人心。Docker容器技術、Google的Kubernetes和Mesosphere的Mesos等分布式互聯網架構技術應運而生并日益成熟。DevOps理念正在不斷得到業界認同和落地實踐。
本書作者尹為強是我多年的老同事,是一位多年來潛心研究互聯網架構新技術的資深研發工程師,在云化架構、容器化微服務等方面有獨特的見解和心得體會,并在實際生產系統中得到了成功的應用。現在他利用業余時間將工作中形成的寶貴經驗匯集成冊同大家分享,可以使有志學習容器化和微服務方面的技術愛好者少走彎路,這是一件值得慶賀的好事。
本書有兩大特點:一是理論知識論述深入淺出、通俗易懂;二是內容基于作者在設計互聯網億級用戶的高并發、分布式架構平臺過程中的實際經驗和深刻總結。每個關鍵知識點都并非紙上談兵,而是有詳細的實操案例,具有很強的實戰指導意義。在實際開發工作中,人們經常遇到諸多挑戰,如開發環境和生產環境保持一致、大規模應用的快速部署、服務平滑升級、應用的微服務化拆分、微服務編排和自動擴縮容、資源的彈性使用、容器化集群的高效管理等。通過閱讀本書,人們可以很好地應對這些挑戰。本書可以作為初級和中級開發人員、架構師、技術經理等人員的學習參考書。


趙錫成
中國聯通集團電子商務中心軟件開發部總監

前言
微服務的概念最早是在2011年5月的軟件架構會議上提出的,Martin Fowler于2014年全面闡釋了微服務架構。Docker作為一種容器化技術誕生于2013年的開源項目,如今,Docker已經成為容器技術領域的領頭羊。Kubernetes這個名字起源于古希臘,是舵手、羅盤的意思。Google于2014年6月推出Kubernetes(Borg 的開源版本),并于2015年7月推出Kubernetes v1.0版本。微服務、Docker和Kubernetes涵蓋了系統開發、運行環境與編排調度技術,是目前分布式系統架構中主流的技術棧。

為什么寫本書
如今,無論是開發人員、運維人員還是技術管理者,言系統架構必談微服務和容器化,必談分布式和互聯網架構。但是對于大多數IT從業者來說,微服務、容器化、Kubernetes等涉及很多新技術,如果完全摸索著去學習,無形中會增加學習時間,并延長系統的新架構改造周期,而且其他人遇到的問題還要重新解決。
筆者也曾遇到相同的問題,微服務、容器化和Kubernetes相關技術棧過于龐大,在自行摸索過程中,由于主機環境、軟件版本、參數配置、網絡模式等存在一定的差異,所以其他人分享的經驗無法復用。筆者在進行訂單系統進行微服務、容器化的新架構開發和升級過程中,總結和提煉了一些經驗與注意事項,將這些內容加以整理并固化形成本書,希望對讀者的實踐有所幫助。
對于微服務開發工程師、容器化和Kubernetes運維工程師、系統架構師、技術管理者等來說,本書不但能夠引導他們少走彎路,而且能夠給予他們系統架構、技術棧選型等方面的參考。閱讀本書,讀者能夠使單體架構的系統簡單快捷地進行微服務容器化的架構升級,從而使新項目能夠基于微服務容器化的新架構迅速地開發、部署和運維。

本書主要內容
本書共包括10章,以微服務、容器化、Kubernetes、Rancher等的概念、解決方案及生產實踐操作為基礎和主線,進行了易于理解和上手操作的講解。
第1章至第3章主要圍繞微服務開發展開:從單體架構和微服務架構的特點、兩者之間的差異開始,介紹了如何拆分微服務;然后介紹微服務開發的技術框架選型,以及微服務開發中的代碼編寫;最后介紹了微服務運行的3種運行環境,以及每種運行環境如何配置參數等。
第4章主要圍繞微服務的容器化部署和生產展開:詳細介紹在離線的生產環境內網中,如何快速、便捷地部署和管理Kubernetes集群,如何創建安全的數字證書,以及如何創建私有鏡像倉庫等。
第5章至第7章主要圍繞微服務間的調用展開:首先介紹了基于ELK組件的日志采集模型及其在生產中的應用;然后介紹了微服務間調用鏈的概念、調用鏈模型及調用鏈的動態跟蹤;最后介紹了服務間調用的熔斷器,為服務調用提供一種穩定、可靠的容錯和自保護機制。
第8章主要圍繞微服務到容器化的生產構建展開:從精簡、安全、標準化的基礎鏡像構建到業務鏡像構建,再到生產環境中服務編排及特定服務涉及的目錄掛載、環境變量設置等。
第9章和第10章主要圍繞系統監控、持續集成部署展開:介紹了系統監控的類型、范圍,以及Exporter + Prometheus + Grafana的監控模型體系。系統持續集成部署部分涉及基于Jenkins的自動編譯、打包、部署的概念和生產實踐。

致謝
首先要感謝我的家人給予我的理解和堅定支持。特別感謝我的妻子,她的理解、包容和支持使我能夠全身心投入書稿的編寫工作。
同時,衷心感謝電子工業出版社博文視點的宋亞東為我耐心講解書籍出版要求以及書稿編寫的注意事項,并且基于作者的角度提供了諸多幫助,盡量減輕作者工作量。他工作嚴謹,技術理解深刻,對書稿質量把控嚴格,還多次邀請專家對本書提出有益意見,對本書的修改和完善起到了重要作用。
由于作者水平有限,書中難免存在不足之處,敬請廣大讀者批評指正。

尹為強
內容簡介:

微服務和Docker容器技術是目前分布式架構中常用的主流技術,結合Kubernetes強大的容器服務編排與調度能力,中小企業能夠簡單快速地構建自己的分布式互聯網架構系統。本書結合實際生產項目的架構重構過程和經驗,詳細介紹從單體架構過渡到微服務容器化的分布式架構的各個方面,主要包括微服務開發和運維技術棧的選型、Spring Cloud微服務開發、Rancher和Kubernetes生產離線環境下的安裝與部署、微服務的容器化與服務編排、日志調用鏈的采集和展示、基于Prometheus的系統監控,以及微服務的持續集成等要點。本書基于Spring Boot、Spring Cloud、Docker、Rancher、Kubernetes等技術,主要提供從設計、開發、部署到運維的微服務容器化的生產環境整體解決方案。
目錄:

第1章 單體架構與微服務架構 1
1.1 背景介紹 2
1.2 單體架構 3
1.2.1 單體架構的特點 3
1.2.2 單體架構的優點 4
1.2.3 單體架構的缺點 4
1.3 微服務架構 4
1.3.1 微服務架構的特點 6
1.3.2 微服務架構的優點 6
1.3.3 微服務架構的缺點 6
1.4 微服務拆分 7
1.4.1 微服務設計原則 7
1.4.2 微服務拆分原則 8
1.5 微服務開發原則 9
1.5.1 微服務命名 9
1.5.2 項目依賴配置 9
1.5.3 配置文件 10
1.5.4 代碼命名 10
1.6 本章小結 11
第2章 Spring Boot微服務開發 12
2.1 微服務框架 13
2.1.1 Dubbo服務框架 13
2.1.2 Spring Cloud微服務框架 15
2.1.3 Dubbo服務框架和Spring Cloud微服務框架的對比 17
2.2 技術棧選型 17
2.3 搭建開發環境 19
2.3.1 安裝開發軟件 19
2.3.2 Maven配置 20
2.3.3 IDE配置 21
2.4 編寫框架代碼 22
2.4.1 創建Maven工程 22
2.4.2 創建微服務模塊 24
2.4.3 微服務代碼結構 26
2.5 編寫業務代碼 29
2.5.1 Controller文件 30
2.5.2 Mapper文件 31
2.5.3 Service文件和ServiceImpl文件 31
2.6 打包與測試 33
2.6.1 編譯打包 33
2.6.2 運行測試 35
2.7 本章小結 36
第3章 搭建微服務運行環境 37
3.1 運行環境概述 38
3.2 搭建開發環境 38
3.2.1 IDE環境 40
3.2.2 非IDE環境 41
3.3 搭建測試環境 41
3.3.1 非容器化環境 41
3.3.2 容器化環境 42
3.4 搭建生產環境 43
3.5 切換運行環境 45
3.6 本章小結 45
第4章 Rancher和Kubernetes離線部署 46
4.1 下載離線文件 47
4.1.1 下載Docker安裝文件 47
4.1.2 下載docker-compose文件 48
4.1.3 下載Harbor安裝文件 48
4.1.4 下載Rancher離線文件 49
4.2 創建CA證書 51
4.3 Docker離線安裝 52
4.3.1 安裝Docker 52
4.3.2 自定義Docker目錄 53
4.3.3 創建用戶eos 54
4.4 Harbor離線安裝 54
4.4.1 配置docker-compose 54
4.4.2 載入Harbor鏡像 55
4.4.3 配置Harbor 56
4.4.4 啟動Harbor 57
4.4.5 創建用戶和項目 58
4.5 Docker登錄設置 61
4.5.1 配置Harbor證書 61
4.5.2 登錄Docker 62
4.6 Rancher離線安裝 62
4.6.1 載入Rancher鏡像 63
4.6.2 安裝Rancher 65
4.7 Kubernetes安裝 66
4.7.1 配置私有倉庫 66
4.7.2 添加Control節點 67
4.7.3 添加Worker節點 71
4.7.4 配置kubectl客戶端 74
4.8 本章小結 76
第5章 日志采集 78
5.1 日志采集模型 79
5.2 配置微服務日志 80
5.3 容器日志采集 81
5.4 日志匯集 82
5.4.1 日志格式 83
5.4.2 配置Filebeat 84
5.4.3 配置Logstash 86
5.4.4 配置Elasticsearch 91
5.5 日志展示 95
5.5.1 配置Kibana 95
5.5.2 啟動和關閉Kibana 96
5.5.3 Kibana索引設置 96
5.5.4 展示Kibana圖形化 98
5.6 本章小結 108
第6章 調用鏈跟蹤 109
6.1 調用鏈概述 110
6.1.1 系統完整調用鏈 111
6.1.2 調用過程追蹤 111
6.2 Spring Cloud調用鏈模型 112
6.2.1 Sleuth組件 112
6.2.2 Zipkin組件 114
6.2.3 Spring Cloud調用鏈跟蹤 115
6.3 調用鏈跟蹤配置 116
6.3.1 微服務配置 116
6.3.2 Zipkin服務端配置 120
6.4 調用鏈跟蹤展示 124
6.4.1 Zipkin圖形化展示 125
6.4.2 Kibana圖形化展示 133
6.5 本章小結 136
第7章 熔斷器 137
7.1 熔斷器概述 138
7.1.1 熔斷器介紹 138
7.1.2 Hystrix介紹 138
7.2 熔斷器配置 139
7.3 熔斷器使用 140
7.3.1 EnableCircuitBreaker注解 140
7.3.2 HystrixCommand注解 141
7.3.3 Fallback函數 142
7.4 熔斷器監控 144
7.5 本章小結 145
第8章 容器化與服務編排 146
8.1 容器化與服務編排概述 147
8.1.1 Docker介紹 147
8.1.2 Docker與虛擬機 148
8.1.3 服務編排與調度 149
8.2 構建基礎鏡像 149
8.2.1 母鏡像的選擇 150
8.2.2 基礎鏡像的特點 151
8.2.3 生成基礎鏡像 151
8.3 構建業務鏡像 154
8.3.1 微服務打包 154
8.3.2 鏡像構建的Dockerfile文件 156
8.3.3 鏡像集成構建 157
8.4 服務編排 161
8.4.1 服務創建 161
8.4.2 服務版本升級 165
8.4.3 參數配置 166
8.4.4 服務版本降級 167
8.5 目錄掛載 168
8.5.1 創建持久化卷 169
8.5.2 綁定持久化卷 170
8.5.3 掛載持久化卷 170
8.6 環境變量 171
8.7 管理Config Map 172
8.7.1 創建Config Map 172
8.7.2 使用Config Map 173
8.8 本章小結 175
第9章 系統監控 176
9.1 系統監控概述 177
9.1.1 主機監控 177
9.1.2 安全監控 179
9.1.3 中間件監控 181
9.1.4 業務監控 183
9.1.5 容器監控 184
9.1.6 監控工具 184
9.2 Kubernetes監控 185
9.3 Node Exporter組件 187
9.4 Prometheus組件 191
9.4.1 Prometheus組件的特征 191
9.4.2 Prometheus組件的架構 193
9.4.3 Prometheus組件的部署 194
9.5 Grafana組件 206
9.5.1 Grafana組件介紹 206
9.5.2 Grafana組件的部署 207
9.5.3 Grafana組件的展示 209
9.6 本章小結 211
第10章 持續集成部署 212
10.1 持續集成部署的概念 213
10.1.1 持續集成 213
10.1.2 持續部署 213
10.2 持續集成部署的模型 214
10.3 基于Jenkins的CICD 215
10.3.1 GitLab代碼分支管理 215
10.3.2 CICD模型 215
10.3.3 CICD流程 216
10.3.4 CICD實踐 218
10.4 本章小結 220
序: