Solon 框架詳解(十一)- Solon Cloud 的配置說明
阿新 • • 發佈:2021-03-14
> Solon 詳解系列文章:
> [Solon 框架詳解(一)- 快速入門](https://www.cnblogs.com/noear/p/14115763.html)
> [Solon 框架詳解(二)- Solon的核心](https://www.cnblogs.com/noear/p/14115817.html)
> [Solon 框架詳解(三)- Solon的web開發](https://www.cnblogs.com/noear/p/14115846.html)
> [Solon 框架詳解(四)- Solon的事務傳播機制](https://www.cnblogs.com/noear/p/14119759.html)
> [Solon 框架詳解(五)- Solon擴充套件機制之Solon Plugin](https://www.cnblogs.com/noear/p/14125526.html)
> [Solon 框架詳解(六)- Solon的校驗框架使用、定製與擴充套件](https://www.cnblogs.com/noear/p/14128571.html)
> [Solon 框架詳解(七)- Solon Ioc 的註解對比Spring及JSR330](https://www.cnblogs.com/noear/p/14139635.html)
> [Solon 框架詳解(八)- Solon的快取框架使用和定製](https://www.cnblogs.com/noear/p/14139720.html)
> [Solon 框架詳解(九)- 渲染控制之定製統一的介面輸出](https://www.cnblogs.com/noear/p/14139733.html)
> [Solon 框架詳解(十)- Solon 的常用配置](https://www.cnblogs.com/noear/p/14139768.html)
> [Solon 框架詳解(十一)- Solon Cloud 的配置說明](https://www.cnblogs.com/noear/p/14530716.html)
### 一、配置示例:
```yaml
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之類的服務名固定的場景)
```yaml
solon.cloud.local:
discovery:
service:
helloapi: #服務名
- "http://localhost:8081" #服務地址
userservice: #服務名
- "http://userservice" #服務