Dubbo-SpringBoot使用Apollo配置中心

1、部署Apollo

參考官方的部署指南:github.com/ctripcorp/a…html

2、客戶端鏈接

由於個人Apollo是部署在阿里雲上的,因此在本地測試的時候須要指定JVM參數-Dapollo.configService=http://config-service的公網IP:端口來跳過meta service的服務發現。java

1.SpringBoot集成

  • application.properties中配置要鏈接的appIdgit

    app.id = 100001
    複製代碼
  • 指定當前Apollo客戶端的Meta Server地址github

    建議經過在server.properties配置文件中指定apollo.meta=http://config-service-url,使Meta Server和應用解耦。redis

    • 對於Mac/Linux,文件位置爲/opt/settings/server.properties
    • 對於Windows,文件位置爲C:\opt\settings\server.properties

    官方推薦對Meta Server作負載均衡。apache

2.配置Dubbo(v2.7.0)

2.1 全局配置

對於服務端和消費端公用的配置配置(全局配置)到Apollo一個公共的NameSpace中,缺省的名稱爲dubbo。bootstrap

dubbo中建立一個dubbo.properties的key,value就是咱們的配置內容。例如bash

dubbo.consumer.check=false

dubbo.registry.address = zookeeper://localhost:2181
dubbo.registry.check = false
dubbo.registry.simplified = true ## 簡化註冊中心url

dubbo.protocol.name = dubbo
dubbo.protocol.port = 20880
dubbo.protocol.dispatcher = message ## 消息派發策略
## 元數據中心
dubbo.metadata-report.address = redis://localhost:6379  
dubbo.metadata-report.retry-times = 30
dubbo.metadata-report.retry-period = 5000
dubbo.metadata-report.cycle-report = false
複製代碼

2.2 應用配置

application中配置應用級別的配置app

2.3 應用自己配置

在SpringBoot自己的appilcation.properties中配置:負載均衡

app.id = 100001
# 可選
apollo.meta=http://config-service-url

# 開啓apollo名空間的自動注入,缺省注入application
apollo.bootstrap.enabled = true

# 若是要引入其餘的namespaces 則配置
# apollo.bootstrap.namespaces = application,javaConfig

# dubbo 配置中心地址
dubbo.config-center.address= apollo://39.106.170.184:8080
# dubbo namespace 缺省爲dubbo
dubbo.config-center.namespaces = dubbo
# 配置中心的配置覆蓋本地配置
dubbo.config-center.highest-priority = false
# 全局級配置文件所映射到的key
# zookeeper - 默認路徑/dubbo/config/dubbo/dubbo.properties
# apollo - dubbo namespace中的dubbo.properties鍵
dubbo.config-center.config-file	 = dubbo.properties
複製代碼

參考文章:

dubbo.apache.org/zh-cn/docs/…

dubbo.apache.org/zh-cn/docs/…

相關文章
相關標籤/搜索