企業級Java微服務實戰
[美]肯·芬尼根(Ken Finnigan)著 張淵 張坤 譯 張淵 張坤 譯
- 出版商: 清華大學
- 出版日期: 2020-01-01
- 定價: $479
- 售價: 7.9 折 $378
- 語言: 簡體中文
- 頁數: 233
- 裝訂: 平裝
- ISBN: 7302542686
- ISBN-13: 9787302542681
-
相關分類:
Microservices 微服務
- 此書翻譯自: Enterprise Java Microservices (Paperback)
立即出貨
買這商品的人也買了...
-
供應鏈,不是有料就好:工業4.0時代的採購實戰力$320$272 -
$352Netty 實戰 (Netty in Action) -
Git 活用大事典 - 指令速查‧錯誤訊息排除‧職場情境範例詳解$560$476 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
$267Docker 技術入門與實戰, 3/e -
建立演進式系統架構|支援常態性的變更 (Building Evolutionary Architectures: Support Constant Change)$480$379 -
Java 實戰, 2/e (Modern Java in Action: Lambda, streams, functional and reactive programming, 2/e)$714$678 -
$594Spring 實戰, 5/e (Spring in Action, 5/e) -
最親切的 Git 入門教室$480$379 -
高品質軟體文件|持續分享技術與知識 (Living Documentation: Continuous Knowledge Sharing by Design)$680$537 -
依賴注入:原理、實作與設計模式 (Dependency Injection: Principles, Practices, Patterns, 2/e)$1,000$780 -
原來世界是這樣運轉的:微服務架構原理與實戰$780$616 -
$378Docker 實戰, 2/e (Docker in Action, 2/e) -
$599微服務與事件驅動架構 -
流程自動化實務|微服務和雲端原生架構中的協調與整合 (Practical Process Automation: Orchestration and Integration in Microservices and Cloud Native Architectures)$580$458 -
On Java 中文版 基礎捲$779$740 -
On Java 中文版 進階捲$779$740 -
$454從程序員到架構師:大數據量、緩存、高並發、微服務、多團隊協同等核心場景實戰 -
軟體架構指標|改善架構品質的案例研究 (Software Architecture Metrics: Case Studies to Improve the Quality of Your Architecture)$580$458 -
$602Java 高並發核心編程 捲3:億級用戶 Web 應用架構與實戰 (加強版) -
$673Java 高並發核心編程 捲2:多線程、鎖、JMM、JUC、高並發設計模式 (加強版) -
Spring 實戰, 6/e$659$626 -
敏捷升級:28個提升敏捷成效的關鍵原則 (More Effective Agile: A Roadmap for Software Leaders)$650$507 -
精通 API 架構|設計、營運和發展基於 API 的系統 (Mastering API Architecture: Design, Operate, and Evolve Api-Based Systems)$680$537 -
重構的時機與實作|五行程式碼規則 (Five Lines of Code: How and When to Refactor)$680$537
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
對於大型應用,如果能從小而簡單的組件起步,開發和維護就會變得更容易。
現在的Java開發者享有廣泛的支持微服務應用開發的工具,包括大小合適的應用服務,開源的框架,以及定義良好的模式。
重要的是,你可以使用已有的Java技能開發微服務應用。
《企業級Java微服務實戰》講授基於JVM的微服務應用的設計和構建。
首先通過與傳統的Java EE應用進行比較來學習微服務的設計。
作者Ken Finnigan以實用的角度介紹了全景的概念,以及用於實現它們的工具和技術。
你會探索微服務生態中的組件,比如用於容錯的Netflix Hystrix,並且掌握恰如其分的應用服務器(JeAS)的使用方法。
為了確保平穩的運維,還會研究監控、安全性、測試以及雲上的部署。
作者簡介
Ken Finnigan
曾擔任全球各地企業的顧問和軟件工程師,具有超過20年的從業經驗。
他領導著Thorntail項目,該項目旨在讓使用Java和Java EE為雲開發微服務變得盡可能容易。
他曾擔任LiveOak和其他JBoss項目的項目負責人
目錄大綱
第Ⅰ部分 微服務基礎
第1章 企業級Java微服務 3
1.1 企業級Java 簡史 3
1.1.1 什麼是企業級Java 4
1.1.2 典型的企業級Java架構 4
1.1.3 什麼是單體 7
1.1.4 與單體相關的問題有哪些 8
1.2 微服務和分佈式架構 9
1.2.1 只做好一件事 9
1.2.2 什麼是分佈式架構 10
1.2.3 為什麼要關心分佈式 11
1.2.4 可以做些什麼幫助開發微服務 13
1.2.5 項目產品 13
1.2.6 持續集成和持續交付 13
1.3 遷移至微服務的模式 14
1.3.1 領域驅動模式 14
1.3.2 大爆炸模式 16
1.3.3 絞殺者模式 16
1.3.4 混合模式 17
1.4 什麼是企業級Java微服務 18
1.5 本章小結 20
第2章 開發一個簡單的RESTful微服務 21
2.1 Cayambe單體 21
2.2 新管理站點 23
2.2.1 用例 25
2.2.2 應用的架構 25
2.2.3 使用JAX-RS創建RESTful端點 27
2.2.4 運行 30
2.3 本章小結 32
第3章 恰如其分的微服務應用服務器 33
3.1 恰如其分的應用服務器 33
3.1.1 什麼是JeAS 34
3.1.2 JeAS的優點 37
3.1.3 Eclipse MicroProfile 39
3.2 選擇恰如其分的應用服務器 40
3.2.1 海灘度假示例應用 40
3.2.2 Dropwizard——原始的有主見的微服務運行時 42
3.2.3 Payara Micro ——精簡到JAR中的Java EE應用服務器 45
3.2.4 Spring Boot——有主見的Spring微服務 48
3.2.5 Thorntail——最靈活的JeAS運行時 51
3.2.6 如何比較它們 53
3.3 本章小結 54
第4章 微服務的測試 55
4.1 需要哪些類型的測試 55
4.2 單元測試 56
4.3 什麼是不可變性 59
4.4 集成測試 60
4.5 消費者驅動的契約測試 68
4.6 額外的閱讀 75
4.7 額外的練習 76
4.8 本章小結 76
第5章 雲原生開發 77
5.1 雲到底是什麼 77
5.2 服務模型 78
5.3 雲原生開發 80
5.4 部署到雲 81
5.5 開始使用Minishift 82
5.6 微服務的雲部署 83
5.7 在雲中測試 87
5.8 額外練習 905.9 本章小結 91
第Ⅱ部分 實現企業級Java微服務
第6章 消費微服務 95
6.1 使用Java客戶端庫消費微服務 99
6.1.1 java.net 99
6.1.2 Apache HttpClient 102
6.2 使用JAX-RS客戶端庫消費微服務 103
6.2.1 JAX-RS客戶端 103
6.2.2 RESTEasy客戶端 106
6.3 本章小結 109
第7章 服務發現 111
7.1 為什麼微服務需要被發現 111
7.1.1 什麼是服務發現 112
7.1.2 服務發現和服務註冊中心有什麼好處 114
7.1.3 無狀態與有狀態的微服務 116
7.1.4 什麼是Netflix Ribbon 116
7.2 使用Thorntail註冊微服務 118
7.2.1 Thorntail的拓撲 118
7.2.2 使用拓撲註冊微服務 120
7.3 使用Thorntail消費已註冊的微服務 123
7.3.1 使用Netflix Ribbon進行服務查找 123
7.3.2 使用RESTEasy客戶端進行服務查找 127
7.4 本章小結 130
第8章 容錯和監控的策略 131
8.1 分佈式架構中的微服務故障 131
8.2 網絡故障 134
8.3 緩解故障 134
8.3.1 Hystrix是什麼 134
8.3.2 斷路器 137
8.3.3 隔艙 140
8.3.4 回退 142
8.3.5 請求緩存 143
8.3.6 綜合運用 144
8.3.7 Hystrix儀錶盤 146
8.4 把Hystrix添加到Payment微服務 148
8.4.1 使用Hystrix與RESTEasy客戶端 149
8.4.2 使用Hystrix與Ribbon客戶端 152
8.5 本章小結 153
第9章 微服務的安全 155
9.1 保護微服務的重要性 155
9.1.1 為什麼安全性很重要 155
9.1.2 安全性需要解決哪些問題 157
9.2 使用Keycloak 159
9.2.1 理解Keycloak的特性 159
9.2.2 設置Keycloak 159
9.3 保護Stripe微服務 163
9.3.1 配置Keycloak 163
9.3.2 保護Stripe資源 165
9.3.3 在Payment資源中進行身份驗證 167
9.3.4 測試受保護的微服務 168
9.4 捕獲用戶身份驗證 170
9.4.1 配置Keycloak 171
9.4.2 保護類別刪除 172
9.4.3 在UI中對用戶進行身份驗證 173
9.4.4 測試新UI和服務 176
9.5 本章小結 177
第10章 構建微服務混合體 179
10.1 Cayambe單體 179
10.2 運行Cayambe單體 181
10.2.1 配置數據庫 182
10.2.2 配置WildFly 182
10.2.3 運行Cayambe 184
10.3 Cayambe混合體 185
10.3.1 與Payment微服務集成 187
10.3.2 集成Admin微服務 192
10.3.3 新的管理UI 193
10.3.4 Cayambe混合體小結 193
10.4 部署到混合雲中 193
10.4.1 數據庫 194
10.4.2 安全性 196
10.4.3 微服務 197
10.4.4 Cayambe混合體 197
10.4.5 Cayambe EAR 199
10.4.6 管理UI 199
10.5 本章小結 199
第11章 使用Apache Kafka 201
11.1 Apache Kafka能做什麼 201
11.1.1 數據流 201
11.1.2 Apache Kafka 202
11.2 用數據流簡化單體架構 206
11.3 部署並使用Kafka來實現數據流 208
11.3.1 Openshift中的Kafka 208
11.3.2 Admin微服務 210
11.3.3 Kafka消費者 212
11.4 額外練習 216
11.5 本章小結 216
附錄A Spring Boot微服務 217
A.1 剖析Spring Boot項目 217
A.1.1 查看一個新初始化的Spring Boot項目 217
A.1.2 啟動Spring 218
A.1.3 測試Spring Boot應用 219
A.1.4 配置應用的屬性 220
A.2 Spring Boot啟動器依賴項 221
A.2.1 使用啟動器依賴項 221
A.2.2 指定基於方面的依賴項 222
A.2.3 重寫啟動器傳遞的依賴項 223
A.3 開發Spring Boot應用 225
A.3.1 專註於應用的功能 225
A.3.2 定義領域 225
A.3.3 定義資源庫接口 226
A.3.4 創建Web接口 227
A.4 Spring Boot測試 230
A.5 本附錄小結 233



