Solon 詳解系列文章:
Solon 框架詳解(一)- 快速入門
Solon 框架詳解(二)- Solon的核心
Solon 框架詳解(三)- Solon的web開發
Solon 框架詳解(四)- Solon的事務傳播機制
Solon 框架詳解(五)- Solon擴充套件機制之Solon Plugin
Solon 框架詳解(六)- Solon的校驗框架使用、定製與擴充套件
Solon 框架詳解(七)- Solon Ioc 的註解對比Spring及JSR330
Solon 框架詳解(八)- Solon的快取框架使用和定製
Solon 框架詳解(九)- 渲染控制之定製統一的介面輸出
Solon 框架詳解(十)- Solon 的常用配置
Solon 框架詳解(十一)- Solon Cloud 的配置說明
一、配置示例:
solon:
app:
name: "solon-consul-test"
group: "test"
solon.cloud.consul:
server: "localhost"
二、配置說明
注:具體配置時,用框架名替代@@符
屬性說 | 說明 | 框架可使用情況 |
---|---|---|
solon.cloud.@@.server | 服務地址(ip:port) | nacos、consul、water |
solon.cloud.@@.token | 連結令牌 | consul |
solon.cloud.@@.username | 連結使用者名稱 | nacos |
solon.cloud.@@.password | 連結密碼 | nacos |
solon.cloud.@@.alarm | 造警接收號 | water |
solon.cloud.@@.config.enable | 配置服務啟用(預設:true) | nacos、consul、water |
solon.cloud.@@.config.server | 服務地址(ip:port) | nacos、consul、water |
solon.cloud.@@.config.loadGroup | 需要啟動時載入的配置組 | nacos、water |
solon.cloud.@@.config.loadKey | 需要啟動時載入的Key | nacos、consul、wate |
solon.cloud.@@.config.refreshInterval | 配置重新整理間隔 | consul |
solon.cloud.@@.discovery.enable | 註冊與發現服務啟用(預設:true) | nacos、consul、water |
solon.cloud.@@.discovery.server | 服務地址(ip:port) | nacos、consul、water |
solon.cloud.@@.discovery.tags | 服務標籤 | consul |
solon.cloud.@@.discovery.healthCheckPath | 服務健康檢查路徑 | consul、water |
solon.cloud.@@.discovery.healthCheckInterval | 服務健康檢查間隔時間 | consul |
solon.cloud.@@.discovery.healthDetector | 服務健康上報指標 | consul |
solon.cloud.@@.discovery.refreshInterval | 服務發現重新整理間隔 | consul |
solon.cloud.@@.event.enable | 事件匯流排服務(預設:true) | water、rabbitmq、rocketmq |
solon.cloud.@@.event.server | 服務地址(ip:port) | water、rabbitmq、rocketmq |
solon.cloud.@@.event.exchange | 交換機或關係組 | rabbitmq、rocketmq |
solon.cloud.@@.event.queue | 指定佇列 | rabbitmq、rocketmq |
solon.cloud.@@.event.receive | 指定接收域 | water |
solon.cloud.@@.event.seal | 事件簽名 | water |
solon.cloud.@@.lock.enable | 分散式鎖服務(預設:true) | water |
solon.cloud.@@.lock.server | 服務地址(ip:port) | water |
solon.cloud.@@.log.enable | 日誌匯流排服務(預設:true) | water |
solon.cloud.@@.log.server | 服務地址(ip:port) | water |
solon.cloud.@@.log.default | 日誌預設記錄器 | water |
三、適配要求
(一)日誌服務適配要求
- 對業務的效能影響極小
- 例如:訊息先進入本地佇列,累積後再批量提交到服務端
(二)事件服務適配要求
- 支援定時事件
- 只要訂閱了主題,各服務組都能收到
- 當前處理失敗後逐級延後重試,直到最終成功;但不影響別的服務組
延後間隔如下(可通過ExpirationUtils生成ttl):
次數 | 延後間隔時間 |
---|---|
0 | 0 |
1 | 5s |
2 | 10s |
3 | 30秒 |
4 | 1分鐘 |
5 | 2分種 |
6 | 5分鐘 |
7 | 10分鐘 |
8 | 30分鐘 |
9 | 1小時 |
n.. | 2小時 |
四、本地釋出服務的配置補充
本地釋出服務配置,僅在雲端釋出服務被禁時才生效(一般用於本地測試或除錯;也可用於k8s之類的服務名固定的場景)
solon.cloud.local:
discovery:
service:
helloapi: #服務名
- "http://localhost:8081" #服務地址
userservice: #服務名
- "http://userservice" #服務地址