Solon 框架詳解(十一)- Solon Cloud 的配置說明

劉之西東發表於2021-03-13

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" #服務地址

相關文章