Spring Cloud
このセクションは作成中です。内容が不完全な場合があります。
- Azure
- Alibaba
- Amazon Web Services (AWS)
- Bus (消息總線)
- Circuit Breaker (斷路器)
- Config (配置中心)
- Gateway (API 網關)
- LoadBalancer (負載均衡)
- Netflix 系列
- Eureka
- Hystrix (已停更)
- Zuul
- OpenFeign (宣告式 HTTP 客戶端)
- Sleuth / Micrometer Tracing (鏈路追蹤)
- Stream (消息驅動)
Amazon Web Services
| AWS 服務項目 | Spring Cloud AWS 2.x | Spring Cloud AWS 3.x |
|---|---|---|
| S3 | ✅ | ✅ |
| SNS | ✅ | ✅ |
| SES | ✅ | ✅ |
| Parameter Store | ✅ | ✅ |
| Secrets Manager | ✅ | ✅ |
| SQS | ✅ | ✅ |
| RDS | ✅ | ❌ |
| DynamoDB | ❌ | ✅ |
SQS (Simple Queue Service)
Sending Message (發送消息)
SqsTemplate: 開箱即用。- 特性:
- 基於自動配置的
SqsAsyncClient。 - 不可變性 (Immutable)。
- 線程安全 (Thread-safe)。
- 基於自動配置的
- 特性:
Acknowledgement Mode (確認模式)
ON_SUCCESS: 處理成功後自動確認。MANUAL: 手動確認,需調用 Ack 方法後 SQS 才會刪除消息。ALWAYS: 無論成功失敗皆確認。
Bus
建立在 Spring Cloud Stream 之上的抽象層,用於在分散式系統中廣播狀態變更 (如配置更新)。
Config
- 支援分散式與版本控制的配置管理。
Netflix
Eureka Server
服務註冊中心,微服務架構中的「通訊錄」。
OpenFeign
簡化 HTTP 調用,讓調用遠端服務像調用本地方法一樣簡單。
Microservices Practice (微服務實戰)
- 範例模組:
- Product Service (產品服務)
- Order Service (訂單服務)
- Inventory Service (庫存服務)
- Notification Service (通知服務)
- 模組間透過 Spring Cloud 元件進行服務發現與通訊。