注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計微服務實踐:spring boot

微服務實踐:spring boot

微服務實踐:spring boot

定 價:¥49.00

作 者: [印度] 烏姆什-拉姆-夏爾瑪 著,占紅來,劉博 譯
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115498700 出版時間: 2019-01-01 包裝: 平裝
開本: 16開 頁數: 189 字數:  

內容簡介

  近些年來,微服務一直是非常熱門的話題,關于微服務架構的討論也是層出不窮。本書以貫穿整書的示例為出發(fā)點,由淺入深地闡述使用微服務的*佳實踐,以及如何避免采用微服務架構可能帶來的復雜性陷阱。本書從微服務架構本身的特征入手,討論微服務組件的設計指導原則、有效通信的方式以及常見的安全挑戰(zhàn)和數據模型的選擇;然后進入微服務架構的測試部分,探討微服務的測試挑戰(zhàn)和解決方法、監(jiān)控和擴展常用的實踐以及如何將現有架構演變?yōu)槲⒎占軜嫞?后總結微服務架構在設計和開發(fā)方面遇到的常見問題及解決方案。

作者簡介

  作者簡介Umesh Ram Sharma是一名軟件開發(fā)工程師,在可擴展、分布式云服務應用的架構、設計及開發(fā)方面有8年以上的經驗。他從印度卡納塔克邦州開放大學獲得信息技術專業(yè)的碩士學位。出于對微服務和Spring的興趣,他成了J2EE、JavaScript、Struts、Hibernate和Spring方面的專家,也具有AWS、J2EE、MySQL、MongoDB、memchached、Apache、Tomcat和Hazelcast等技術的實踐經驗。Umesh Ram Sharma目前是ZestMoney公司的首席軟件工程師,幫助他的團隊將當前項目遷移至微服務。閑暇時,他喜歡開車兜風、烹飪和參加新技術的各種大會。譯者簡介占紅來是一位咨詢師,致力于幫助客戶和成就客戶。曾主持過某世界500強等大型公司的軟件一體化開發(fā)平臺的測試能力提升等落地項目,得到客戶的一致好評,并受邀再次合作。劉博畢業(yè)于哈爾濱工業(yè)大學,是一位擁有十多年測試經驗的軟件工程師,主攻自動化測試、性能測試和架構調優(yōu)領域,對這些領域流行的技術體系和架構風險都有準確的把握。他積極參加對外的技術論壇,把在IBM、活躍網絡和思特沃克的經驗積累加以總結并分享給業(yè)內相關人士,獲得眾多好評。

圖書目錄

目錄
第 1章 微服務架構簡介 1
1.1 常規(guī)微服務架構 2
1.2 微服務架構的特征 2
1.2.1 問題定義 2
1.2.2 解決方案 3
1.3 做好微服務架構面臨的挑戰(zhàn) 4
1.3.1 通過日志調試 5
1.3.2 服務監(jiān)控 5
1.3.3 公共庫 5
1.3.4 服務之間的消息傳遞 5
1.3.5 微服務的部署和版本管理 6
1.4 微服務的未來 6
1.4.1 無服務架構 7
1.4.2 微服務即PaaS 7
1.5 與傳統(tǒng)架構相比微服務架構的
優(yōu)勢 7
1.6 是不是看起來與SOA很像 9
1.7 將業(yè)務領域劃分為微服務組件 11
1.8 到底要不要使用微服務 13
1.8.1 組織認同度 13
1.8.2 體驗DevOps 14
1.8.3 分析現有數據庫模型 14
1.8.4 自動化和CI/CD 14
1.8.5 集成 14
1.8.6 安全 14
1.8.7 成功遷移的例子 15
1.9 示例項目(信用風險評估引擎) 15
1.10 Spring 15
1.11 Spring Boot 16
1.12 小結 19
第 2章 定義微服務組件 21
2.1 微服務的定義 21
2.2 服務發(fā)現及其用途 22
2.2.1 DNS 22
2.2.2 服務發(fā)現的請求 23
2.2.3 服務發(fā)現模式示例 26
2.2.4 整個架構中的配置外化 29
2.3 API網關及其訴求 32
2.3.1 認證鑒權 33
2.3.2 不同協議 34
2.3.3 負載均衡 34
2.3.4 請求轉發(fā)(包括服務
發(fā)現) 34
2.3.5 響應轉換 34
2.3.6 斷路器 35
2.3.7 API網關的優(yōu)劣性 35
2.4 API網關的例子 36
2.5 用戶注冊微服務的開發(fā) 39
2.6 小結 59
第3章 微服務端點之間的通信 61
3.1 微服務間應該如何通信 61
3.2 編制和編排 62
3.2.1 編制 62
3.2.2 編排 63
3.3 同步通信和異步通信 65
3.3.1 同步通信 65
3.3.2 異步通信 68
3.3.3 財務服務 79
3.4 小結 90
第4章 微服務端點的安全 91
4.1 微服務的安全挑戰(zhàn) 91
4.1.1 復合技術?;蛘叽嬖谶z留
代碼 92
4.1.2 認證和授權(訪問
控制) 92
4.1.3 基于令牌的安全實踐 92
4.1.4 安全性的責任 92
4.1.5 編制風格的風險 92
4.1.6 微服務之間的通信 93
4.2 與OpenID的OAuth 2.0一起
使用JWT 94
4.2.1 OpenID 94
4.2.2 OAuth 2.0 95
4.2.3 JWT 97
4.2.4 示例應用 99
4.3 小結 111
第5章 創(chuàng)建高效的數據模型 113
5.1 數據和建模 113
5.2 單體架構中的數據模型 114
5.3 SOA中的數據模型 115
5.4 微服務架構中的數據模型 116
5.4.1 每個微服務限定一些
數據庫表 116
5.4.2 每個微服務一個數據庫 117
5.4.3 Saga模式 117
5.4.4 必要時采用混合數據
技術 119
5.5 從單體應用向微服務遷移數據
模型 120
5.5.1 領域驅動設計 120
5.5.2 數據模型遷移方式 121
5.6 小結 126
第6章 測試微服務 127
6.1 微服務中測試的目的 127
6.2 單元測試 128
6.3 集成測試 131
6.4 組件(服務)測試 131
6.5 契約測試 133
6.5.1 Pact 133
6.5.2 Spring Cloud Contract 134
6.6 端到端測試 135
6.7 更進一步 135
6.8 小結 136
第7章 部署微服務 137
7.1 持續(xù)集成 137
7.2 持續(xù)交付 138
7.3 用微服務配置CI和CD工具 140
7.4 微服務的Docker化 147
7.4.1 Docker 148
7.4.2 Docker引擎 148
7.4.3 Docker鏡像 148
7.4.4 Docker存儲 148
7.4.5 應用程序在Docker中是
如何工作的 149
7.4.6 公共、私有和官方的
鏡像庫 149
7.4.7 Docker與VM的區(qū)別 149
7.4.8 在Linux中安裝Docker 150
7.5 在Docker化的微服務中使用
開源CI工具 154
7.6 小結 156
第8章 演進現有系統(tǒng) 157
8.1 從哪里開始 159
8.1.1 架構視角和最佳實踐 159
8.1.2 數據庫視角和最佳實踐 162
8.2 示例應用及其演變過程 163
8.2.1 用戶管理服務 164
8.2.2 購物車/訂單服務 164
8.2.3 支付服務 164
8.2.4 配送/跟蹤服務和通信
服務 164
8.2.5 產品推薦服務 165
8.2.6 調度服務 165
8.3 小結 166
第9章 微服務的監(jiān)控和擴展 167
9.1 微服務系統(tǒng)的監(jiān)控原則 167
9.1.1 如何設置并使用警報 168
9.1.2 從一開始做好監(jiān)控和發(fā)布
渠道規(guī)劃 168
9.1.3 自動擴展和自動發(fā)現 168
9.1.4 監(jiān)控前門流量 169
9.2 監(jiān)控模式的發(fā)展變化 169
9.3 日志記錄有助于監(jiān)控 170
9.4 微服務系統(tǒng)的擴展原則 171
9.4.1 x軸 172
9.4.2 y軸 172
9.4.3 z軸 173
9.5 實施擴展策略前請三思 174
9.6 微服務的監(jiān)控和擴展工具 175
9.7 小結 180
第 10章 故障排除 181
10.1 使用微服務時的常見問題 181
10.1.1 性能下降 181
10.1.2 日志記錄位置因編程
語言而異 183
10.1.3 多組件之間的耦合或
依賴問題 184
10.1.4 服務部署數量與日
俱增 184
10.1.5 監(jiān)控多項服務,發(fā)現性能
下降或其他問題 185
10.1.6 日志與不同組件的
關系 185
10.2 常見問題的解決方法 186
10.2.1 解決性能問題的步驟 186
10.2.2 處理不同語言生成的并處于
不同位置的日志記錄 186
10.2.3 服務之間的依賴關系 187
10.2.4 DevOps專家積極參與 187
10.2.5 監(jiān)控 188
10.3 小結 189

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號