<內容簡介>
微服務是利用雲平臺開發企業應用程序的最新技術,它是小型、輕量和過程驅動的組件。微服務適合設計可擴展、易於維護的應用程序。它可以使開發更容易,還能使資源得到最佳利用。本書幫助你用Java構建供企業使用的微服務架構,內容包括微服務核心概念和框架、大型軟件項目的高層次設計、開發環境設置和前期配置、對微服務架構持續集成的部署、實現微服務的安全性、有效地執行測試、微服務設計的最佳做法和一般原則,以及如何檢測和調試問題。本書適合想要瞭解微服務架構,以及想要深入瞭解如何有效地實施企業級微服務的Java開發人員。
<章節目錄>
前言XV
1一種解決方法1
微服務的演變2
整體式架構概述3
整體式架構的局限性與它的微服務解決方案的對比3
一維的可擴展性6
在出故障時回滾版本7
採用新技術時的問題7
與敏捷實踐的契合8
減輕開發工作量——可以做得更好9
微服務的構建管道10
使用諸如Docker的容器部署11
容器11
Docker 12
Docker的架構13
Docker容器14
部署14
小結14
2設置開發環境17
Spring Boot配置18
Spring Boot概述18
把Spring Boot添加至REST示例19
添加一個嵌入式Jetty服務器21
示例REST程序22
編寫REST控制器類24
@RestController 25
@RequestMapping 25
@RequestParam 25
@ PathVariable 26
製作一個示例REST可執行應用程序29
設置應用程序構建30
運行Maven工具30
用Java命令執行31
使用Postman Chrome擴展測試REST API 31
更多的正向測試場景34
反向的測試場景35
NetBeans IDE安裝和設置37
參考資料42
小結42
3領域驅動設計43
領域驅動設計基本原理44
組成部分45
普遍存在的語言45
多層架構45
表示層46
應用程序層46
領域層46
基礎架構層47
領域驅動設計的工件47
實體47
值對象48
服務49
聚合50
存儲庫52
工廠53
模塊54
戰略設計和原則55
有界上下文55
持續集成56
上下文映射57
共享內核模式58
客戶和供應商模式58
順從者模式59
反腐層59
獨立方法59
開放主機服務60
精餾60
示例領域服務60
實體的實現61
存儲庫的實現63
服務的實現66
小結67
4實現微服務69
OTRS概述70
開發和實現微服務71
餐館微服務72
控制器類73
服務類76
存儲庫類79
實體類82
預訂和用戶服務85
註冊和發現服務(Eureka服務) 85
執行87
測試87
參考資料92
小結92
5部署和測試93
使用Netflix OSS的微服務架構概述93
負載均衡95